Add Windows specific code
This commit is contained in:
+27
-1
@@ -28,9 +28,35 @@
|
||||
/* this is only to get definitions for memcpy(), ntohl() and htonl() */
|
||||
//#include "../git-compat-util.h"
|
||||
#include <string.h>
|
||||
#include <arpa/inet.h>
|
||||
#include "sha1.h"
|
||||
|
||||
#ifndef WIN32
|
||||
#include <arpa/inet.h>
|
||||
#else
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
|
||||
#define htons(n) (n)
|
||||
#define ntohs(n) (n)
|
||||
#define htonl(n) (n)
|
||||
#define ntohl(n) (n)
|
||||
|
||||
#else
|
||||
|
||||
#define htons(n) (((((unsigned short)(n) & 0xFF)) << 8) | (((unsigned short)(n) & 0xFF00) >> 8))
|
||||
#define ntohs(n) (((((unsigned short)(n) & 0xFF)) << 8) | (((unsigned short)(n) & 0xFF00) >> 8))
|
||||
|
||||
#define htonl(n) (((((unsigned long)(n) & 0xFF)) << 24) | \
|
||||
((((unsigned long)(n) & 0xFF00)) << 8) | \
|
||||
((((unsigned long)(n) & 0xFF0000)) >> 8) | \
|
||||
((((unsigned long)(n) & 0xFF000000)) >> 24))
|
||||
|
||||
#define ntohl(n) (((((unsigned long)(n) & 0xFF)) << 24) | \
|
||||
((((unsigned long)(n) & 0xFF00)) << 8) | \
|
||||
((((unsigned long)(n) & 0xFF0000)) >> 8) | \
|
||||
((((unsigned long)(n) & 0xFF000000)) >> 24))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||
|
||||
/*
|
||||
|
||||
@@ -165,7 +165,7 @@ KissPanel* AccountPanel::CreatePanel()
|
||||
wxBitmapButton* AccountPanel::GetButton(int id)
|
||||
{
|
||||
if (!_KissButton)
|
||||
_KissButton = new wxBitmapButton(_wxUI, id, wxBitmap(wxT(ACCOUNT_ICON)), wxDefaultPosition, wxSize(128, 128));
|
||||
_KissButton = new wxBitmapButton(_wxUI, id, wxBitmap(wxT(ACCOUNT_ICON), wxBITMAP_TYPE_PNG), wxDefaultPosition, wxSize(128, 128));
|
||||
|
||||
return _KissButton;
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ KissPanel* PreferencesPanel::CreatePanel()
|
||||
wxBitmapButton* PreferencesPanel::GetButton(int id)
|
||||
{
|
||||
if (!_KissButton)
|
||||
_KissButton = new wxBitmapButton(_wxUI, id, wxBitmap(wxT(PREFS_ICON)), wxDefaultPosition, wxSize(128, 128));
|
||||
_KissButton = new wxBitmapButton(_wxUI, id, wxBitmap(wxT(PREFS_ICON), wxBITMAP_TYPE_PNG), wxDefaultPosition, wxSize(128, 128));
|
||||
|
||||
return _KissButton;
|
||||
}
|
||||
@@ -348,7 +348,7 @@ void PreferencesPanel::InitLanguage(User* user)
|
||||
|
||||
for (i=0; i<NB_SUPPORTED_LANGUAGES; i++)
|
||||
{
|
||||
_language->Append(languages[i].name, wxBitmap(languages[i].icon));
|
||||
_language->Append(languages[i].name, wxBitmap(languages[i].icon, wxBITMAP_TYPE_PNG));
|
||||
if (languages[i].language == _wxUI->_language)
|
||||
select = i;
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ KissPanel* SearchPanel::CreatePanel()
|
||||
wxBitmapButton* SearchPanel::GetButton(int id)
|
||||
{
|
||||
if (!_KissButton)
|
||||
_KissButton = new wxBitmapButton(_wxUI, id, wxBitmap(wxT(SEARCH_ICON)), wxDefaultPosition, wxSize(128, 128));
|
||||
_KissButton = new wxBitmapButton(_wxUI, id, wxBitmap(wxT(SEARCH_ICON), wxBITMAP_TYPE_PNG), wxDefaultPosition, wxSize(128, 128));
|
||||
|
||||
return _KissButton;
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ KissPanel* StatsPanel::CreatePanel()
|
||||
wxBitmapButton* StatsPanel::GetButton(int id)
|
||||
{
|
||||
if (!_KissButton)
|
||||
_KissButton = new wxBitmapButton(_wxUI, id, wxBitmap(wxT(STATS_ICON)), wxDefaultPosition, wxSize(128, 128));
|
||||
_KissButton = new wxBitmapButton(_wxUI, id, wxBitmap(wxT(STATS_ICON), wxBITMAP_TYPE_PNG), wxDefaultPosition, wxSize(128, 128));
|
||||
|
||||
return _KissButton;
|
||||
}
|
||||
|
||||
@@ -39,14 +39,17 @@ BEGIN_EVENT_TABLE(GridAccount, wxGrid)
|
||||
EVT_GRID_CELL_LEFT_CLICK(GridAccount::OnCellLeftClick )
|
||||
END_EVENT_TABLE()
|
||||
|
||||
enum {TREE, DESCRIPTION, OP_DATE, DEBIT, CREDIT, CATEGORY, ACCOUNT, OP_DELETE, CHECKED, NUMBER_COLS_OPS};
|
||||
|
||||
enum {GRID_ID};
|
||||
|
||||
GridAccount::GridAccount(KissCount* kiss, wxWindow *parent, wxWindowID id) : wxGrid(parent, id), _fixCosts(0), _week1(0),
|
||||
_week2(0), _week3(0), _week4(0), _parent(parent), _kiss(kiss),
|
||||
_loadOperations(false),
|
||||
_curMonth(0), _curYear(0)
|
||||
{
|
||||
wxBitmap deleteBitmap(wxT(DELETE_ICON));
|
||||
wxBitmap checkedBitmap(wxT(CHECKED_ICON));
|
||||
wxBitmap deleteBitmap(wxT(DELETE_ICON), wxBITMAP_TYPE_PNG);
|
||||
wxBitmap checkedBitmap(wxT(CHECKED_ICON), wxBITMAP_TYPE_PNG);
|
||||
DEFAULT_FONT(font);
|
||||
int i;
|
||||
User* user = _kiss->GetUser();
|
||||
@@ -70,7 +73,7 @@ GridAccount::GridAccount(KissCount* kiss, wxWindow *parent, wxWindowID id) : wxG
|
||||
SetReadOnly(0, i, true);
|
||||
SetCellAlignment(0, i, wxALIGN_CENTRE, wxALIGN_CENTRE);
|
||||
}
|
||||
SetCellRenderer(0, DELETE, new wxGridCellBitmapRenderer(deleteBitmap));
|
||||
SetCellRenderer(0, OP_DELETE, new wxGridCellBitmapRenderer(deleteBitmap));
|
||||
SetCellRenderer(0, CHECKED, new wxGridCellBitmapRenderer(checkedBitmap));
|
||||
|
||||
_accounts = new wxString[user->GetAccountsNumber()];
|
||||
@@ -92,9 +95,9 @@ GridAccount::GridAccount(KissCount* kiss, wxWindow *parent, wxWindowID id) : wxG
|
||||
|
||||
AutoSizeColumn(TREE, false);
|
||||
AutoSizeColumn(CATEGORY, false);
|
||||
AutoSizeColumn(DATE, false);
|
||||
AutoSizeColumn(OP_DATE, false);
|
||||
AutoSizeColumn(ACCOUNT, false);
|
||||
AutoSizeColumn(DELETE, false);
|
||||
AutoSizeColumn(OP_DELETE, false);
|
||||
AutoSizeColumn(CHECKED, false);
|
||||
}
|
||||
|
||||
@@ -226,9 +229,9 @@ void GridAccount::LoadOperations(std::vector<Operation>* operations, bool canAdd
|
||||
|
||||
AutoSizeColumn(TREE, false);
|
||||
AutoSizeColumn(CATEGORY, false);
|
||||
AutoSizeColumn(DATE, false);
|
||||
AutoSizeColumn(OP_DATE, false);
|
||||
AutoSizeColumn(ACCOUNT, false);
|
||||
AutoSizeColumn(DELETE, false);
|
||||
AutoSizeColumn(OP_DELETE, false);
|
||||
AutoSizeColumn(CHECKED, false);
|
||||
|
||||
_loadOperations = false;
|
||||
@@ -302,7 +305,7 @@ void GridAccount::InsertOperation(User* user, Operation& op, int line, bool fix,
|
||||
SetCellRenderer(line, TREE, new wxGridCellTreeButtonRenderer());
|
||||
SetCellEditor(line, TREE, new wxGridCellTreeButtonEditor());
|
||||
|
||||
SetReadOnly(line, DATE, true);
|
||||
SetReadOnly(line, OP_DATE, true);
|
||||
SetReadOnly(line, CREDIT, true);
|
||||
SetReadOnly(line, DEBIT, true);
|
||||
SetReadOnly(line, CATEGORY, true);
|
||||
@@ -332,12 +335,12 @@ void GridAccount::InsertOperation(User* user, Operation& op, int line, bool fix,
|
||||
{
|
||||
cat = user->GetCategory(op.category);
|
||||
|
||||
SetCellEditor(line, DATE, new CalendarEditor(op.day, month, year));
|
||||
SetCellEditor(line, OP_DATE, new CalendarEditor(op.day, month, year));
|
||||
description = op.description;
|
||||
UNESCAPE_CHARS(description);
|
||||
SetCellValue(line, DESCRIPTION, description);
|
||||
SetCellRenderer(line, DESCRIPTION, new wxGridCellTabStringRenderer ());
|
||||
SetCellValue(line, DATE, wxString::Format(wxT("%02d/%02d/%d"), op.day+1, month+1, year));
|
||||
SetCellValue(line, OP_DATE, wxString::Format(wxT("%02d/%02d/%d"), op.day+1, month+1, year));
|
||||
if (op.amount < 0)
|
||||
SetCellValue(line, DEBIT, wxString::Format(wxT("%.2lf"), -op.amount));
|
||||
else
|
||||
@@ -347,8 +350,8 @@ void GridAccount::InsertOperation(User* user, Operation& op, int line, bool fix,
|
||||
SetCellValue(line, ACCOUNT, user->GetAccountName(op.account));
|
||||
if (!fix && !op.meta)
|
||||
SetCellValue(line, CATEGORY, cat.name);
|
||||
SetCellRenderer(line, DELETE, new wxGridCellBoolRenderer ());
|
||||
SetCellEditor(line, DELETE, new wxGridCellBoolEditor ());
|
||||
SetCellRenderer(line, OP_DELETE, new wxGridCellBoolRenderer ());
|
||||
SetCellEditor(line, OP_DELETE, new wxGridCellBoolEditor ());
|
||||
SetCellRenderer(line, CHECKED, new wxGridCellBoolRenderer ());
|
||||
SetCellEditor(line, CHECKED, new wxGridCellFastBoolEditor ());
|
||||
|
||||
@@ -391,16 +394,16 @@ void GridAccount::InsertOperation(User* user, Operation& op, int line, bool fix,
|
||||
}
|
||||
else
|
||||
{
|
||||
SetCellEditor(line, DATE, new CalendarEditor(0, month, year));
|
||||
SetCellEditor(line, OP_DATE, new CalendarEditor(0, month, year));
|
||||
if (curDate.GetMonth() == month &&
|
||||
curDate.GetYear() == year)
|
||||
{
|
||||
if (!fix)
|
||||
SetCellValue(line, DATE, wxString::Format(wxT("%02d/%02d/%d"), curDate.GetDay(), month+1, year));
|
||||
SetCellEditor(line, DATE, new CalendarEditor(curDate.GetDay()-1, month, year));
|
||||
SetCellValue(line, OP_DATE, wxString::Format(wxT("%02d/%02d/%d"), curDate.GetDay(), month+1, year));
|
||||
SetCellEditor(line, OP_DATE, new CalendarEditor(curDate.GetDay()-1, month, year));
|
||||
}
|
||||
else
|
||||
SetCellEditor(line, DATE, new CalendarEditor(0, month, year));
|
||||
SetCellEditor(line, OP_DATE, new CalendarEditor(0, month, year));
|
||||
|
||||
if (fix)
|
||||
{
|
||||
@@ -412,13 +415,13 @@ void GridAccount::InsertOperation(User* user, Operation& op, int line, bool fix,
|
||||
}
|
||||
|
||||
SetReadOnly(line, CHECKED, true);
|
||||
SetReadOnly(line, DELETE, true);
|
||||
SetReadOnly(line, OP_DELETE, true);
|
||||
}
|
||||
|
||||
SetCellAlignment(line, DATE, wxALIGN_CENTRE, wxALIGN_CENTRE);
|
||||
SetCellAlignment(line, OP_DATE, wxALIGN_CENTRE, wxALIGN_CENTRE);
|
||||
SetCellAlignment(line, DEBIT, wxALIGN_RIGHT, wxALIGN_CENTRE);
|
||||
SetCellAlignment(line, CREDIT, wxALIGN_RIGHT, wxALIGN_CENTRE);
|
||||
SetCellAlignment(line, DELETE, wxALIGN_CENTRE, wxALIGN_CENTRE);
|
||||
SetCellAlignment(line, OP_DELETE, wxALIGN_CENTRE, wxALIGN_CENTRE);
|
||||
SetCellAlignment(line, CHECKED, wxALIGN_CENTRE, wxALIGN_CENTRE);
|
||||
|
||||
AutoSizeRow(line);
|
||||
@@ -430,7 +433,7 @@ void GridAccount::InsertOperation(User* user, Operation& op, int line, bool fix,
|
||||
// From http://nomadsync.cvs.sourceforge.net/nomadsync/nomadsync/src/
|
||||
void GridAccount::OnCellLeftClick(wxGridEvent& evt)
|
||||
{
|
||||
if (evt.GetCol() != TREE && evt.GetCol() != DELETE && evt.GetCol() != CHECKED) { evt.Skip() ; return;}
|
||||
if (evt.GetCol() != TREE && evt.GetCol() != OP_DELETE && evt.GetCol() != CHECKED) { evt.Skip() ; return;}
|
||||
|
||||
// This forces the cell to go into edit mode directly
|
||||
//m_waitForSlowClick = TRUE;
|
||||
@@ -692,7 +695,7 @@ void GridAccount::OnOperationModified(wxGridEvent& event)
|
||||
op_complete--;
|
||||
}
|
||||
|
||||
value = GetCellValue(row, DATE);
|
||||
value = GetCellValue(row, OP_DATE);
|
||||
if (value.Length())
|
||||
{
|
||||
date.ParseFormat(value, wxT("%d/%m/%Y"));
|
||||
@@ -821,7 +824,7 @@ void GridAccount::OnOperationModified(wxGridEvent& event)
|
||||
}
|
||||
}
|
||||
|
||||
if (col == DELETE)
|
||||
if (col == OP_DELETE)
|
||||
{
|
||||
wxMessageDialog dialog(this, _("Are you sure want to delete : \n")+new_op.description, wxT("KissCount"), wxYES_NO);
|
||||
if (dialog.ShowModal() == wxID_NO)
|
||||
@@ -835,7 +838,7 @@ void GridAccount::OnOperationModified(wxGridEvent& event)
|
||||
// Modify a fix operation
|
||||
if (row < _fixCosts)
|
||||
{
|
||||
if (col == DELETE)
|
||||
if (col == OP_DELETE)
|
||||
{
|
||||
if (cur_op.parent.Length())
|
||||
user->UnGroup(_displayedOperations[row]);
|
||||
@@ -943,7 +946,7 @@ void GridAccount::OnOperationModified(wxGridEvent& event)
|
||||
new_op.parent = cur_op.parent;
|
||||
new_op.childs = cur_op.childs;
|
||||
|
||||
if (col == DELETE)
|
||||
if (col == OP_DELETE)
|
||||
{
|
||||
if (cur_op.parent.Length())
|
||||
user->UnGroup(_displayedOperations[row]);
|
||||
@@ -1078,7 +1081,7 @@ void GridAccount::OnOperationModified(wxGridEvent& event)
|
||||
SET_ROW_FONT(row, font);
|
||||
}
|
||||
|
||||
SetCellValue(row, DATE, wxString::Format(wxT("%02d/%02d/%d"), new_op.day+1, _curMonth+1, _curYear));
|
||||
SetCellValue(row, OP_DATE, wxString::Format(wxT("%02d/%02d/%d"), new_op.day+1, _curMonth+1, _curYear));
|
||||
|
||||
if (!_displayedOperations[row].amount)
|
||||
{
|
||||
|
||||
@@ -35,8 +35,6 @@
|
||||
|
||||
class KissCount;
|
||||
|
||||
enum {TREE, DESCRIPTION, DATE, DEBIT, CREDIT, CATEGORY, ACCOUNT, DELETE, CHECKED, NUMBER_COLS_OPS};
|
||||
|
||||
class GridAccount : public wxGrid
|
||||
{
|
||||
public:
|
||||
|
||||
+9
-9
@@ -28,15 +28,15 @@
|
||||
#define DEFAULT_FONT_SIZE 12
|
||||
#define DEFAULT_FONT(font_name) wxFont font_name(DEFAULT_FONT_SIZE, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, DEFAULT_FONT_NAME);
|
||||
|
||||
#define DELETE_ICON "ressources/icons/process-stop.png"
|
||||
#define CHECKED_ICON "ressources/icons/tick-icon.png"
|
||||
#define ACCOUNT_ICON "ressources/icons/administrator-icon.png"
|
||||
#define STATS_ICON "ressources/icons/chart-icon.png"
|
||||
#define SEARCH_ICON "ressources/icons/Search-icon.png"
|
||||
#define PREFS_ICON "ressources/icons/options-icon.png"
|
||||
#define CHANGE_USER_ICON "ressources/icons/Clients-icon.png"
|
||||
#define ABOUT_ICON "ressources/icons/windows-users-icon.png"
|
||||
#define QUIT_ICON "ressources/icons/system-log-out.png"
|
||||
#define DELETE_ICON "./ressources/icons/process-stop.png"
|
||||
#define CHECKED_ICON "./ressources/icons/tick-icon.png"
|
||||
#define ACCOUNT_ICON "./ressources/icons/administrator-icon.png"
|
||||
#define STATS_ICON "./ressources/icons/chart-icon.png"
|
||||
#define SEARCH_ICON "./ressources/icons/Search-icon.png"
|
||||
#define PREFS_ICON "./ressources/icons/options-icon.png"
|
||||
#define CHANGE_USER_ICON "./ressources/icons/Clients-icon.png"
|
||||
#define ABOUT_ICON "./ressources/icons/windows-users-icon.png"
|
||||
#define QUIT_ICON "./ressources/icons/system-log-out.png"
|
||||
|
||||
#include "KissPanel.h"
|
||||
|
||||
|
||||
+5
-3
@@ -45,6 +45,8 @@ wxUI::wxUI(KissCount* kiss, const wxString& title, const wxPoint& pos, const wxS
|
||||
: wxFrame(NULL, -1, title, pos, size), _kiss(kiss),
|
||||
_curPanel(NULL), _locale(NULL), _needReload(false)
|
||||
{
|
||||
wxInitAllImageHandlers();
|
||||
|
||||
_vbox = new wxBoxSizer(wxVERTICAL);
|
||||
_buttonsBox = new wxBoxSizer(wxHORIZONTAL);
|
||||
// ButtonPanel* buttons = new ButtonPanel(_kiss, this);
|
||||
@@ -61,9 +63,9 @@ wxUI::wxUI(KissCount* kiss, const wxString& title, const wxPoint& pos, const wxS
|
||||
|
||||
// CreateStatusBar();
|
||||
// SetStatusText( wxT("Welcome to wxWidgets!") );
|
||||
_buttonsBox->Add(new wxBitmapButton(this, BUTTON_CHANGE_USER_ID, wxBitmap(wxT(CHANGE_USER_ICON)), wxDefaultPosition, wxSize(128, 128)));
|
||||
_buttonsBox->Add(new wxBitmapButton(this, BUTTON_ABOUT_ID, wxBitmap(wxT(ABOUT_ICON)), wxDefaultPosition, wxSize(128, 128)));
|
||||
_buttonsBox->Add(new wxBitmapButton(this, BUTTON_QUIT_ID, wxBitmap(wxT(QUIT_ICON)), wxDefaultPosition, wxSize(128, 128)));
|
||||
_buttonsBox->Add(new wxBitmapButton(this, BUTTON_CHANGE_USER_ID, wxBitmap(wxT(CHANGE_USER_ICON), wxBITMAP_TYPE_PNG), wxDefaultPosition, wxSize(128, 128)));
|
||||
_buttonsBox->Add(new wxBitmapButton(this, BUTTON_ABOUT_ID, wxBitmap(wxT(ABOUT_ICON), wxBITMAP_TYPE_PNG), wxDefaultPosition, wxSize(128, 128)));
|
||||
_buttonsBox->Add(new wxBitmapButton(this, BUTTON_QUIT_ID, wxBitmap(wxT(QUIT_ICON), wxBITMAP_TYPE_PNG), wxDefaultPosition, wxSize(128, 128)));
|
||||
|
||||
SetSizer(_vbox);
|
||||
|
||||
|
||||
@@ -33,6 +33,9 @@
|
||||
#include "grid/wxGridCellButtonRenderer.h"
|
||||
#include "grid/wxGridCellButtonEditor.h"
|
||||
|
||||
#undef _
|
||||
#define _(s) wxString(wxGetTranslation(s))
|
||||
|
||||
class KissCount;
|
||||
class AccountPanel;
|
||||
class PreferencesPanel;
|
||||
|
||||
Reference in New Issue
Block a user