Index: ossp-pkg/as/as-gui/as_assist.cpp RCS File: /v/ossp/cvs/ossp-pkg/as/as-gui/as_assist.cpp,v rcsdiff -q -kk '-r1.56' '-r1.57' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/as_assist.cpp,v' 2>/dev/null --- as_assist.cpp 2002/12/11 16:00:47 1.56 +++ as_assist.cpp 2002/12/12 12:19:48 1.57 @@ -766,3 +766,35 @@ connect(m_pTasks, SIGNAL(textChanged(const QString &)), this, SLOT(updateTask(const QString &))); connect(m_pRemark, SIGNAL(textChanged(const QString &)), this, SLOT(updateRemark(const QString &))); } + +// +// Arrange and configure columns +// +void Titraqform::setupColumns(void) +{ + // Handle column view handling presets and defaults + if (!m_pPrefs->getBool(TITRAQ_PREFSTATCOL, TITRAQ_DEFSTATCOL)) + showStatcol(); + if (!m_pPrefs->getBool(TITRAQ_PREFLCOL, TITRAQ_DEFLCOL)) + showLinecol(); + if (!m_pPrefs->getBool(TITRAQ_PREFUCOL, TITRAQ_DEFUCOL)) + showUsercol(); + if (!m_pPrefs->getBool(TITRAQ_PREFGCOL, TITRAQ_DEFGCOL)) + showGuidcol(); + if (!m_pPrefs->getBool(TITRAQ_PREFCCOL, TITRAQ_DEFCCOL)) + showCrccol(); + if (!m_pPrefs->getBool(TITRAQ_PREFREVCOL, TITRAQ_DEFREVCOL)) + showRevcol(); + if (!m_pPrefs->getBool(TITRAQ_PREFDCOL, TITRAQ_DEFDCOL)) + showDatecol(); + if (!m_pPrefs->getBool(TITRAQ_PREFSTARTCOL, TITRAQ_DEFSTARTCOL)) + showStartcol(); + if (!m_pPrefs->getBool(TITRAQ_PREFFCOL, TITRAQ_DEFFCOL)) + showFinishcol(); + if (!m_pPrefs->getBool(TITRAQ_PREFACOL, TITRAQ_DEFACOL)) + showAmountcol(); + if (!m_pPrefs->getBool(TITRAQ_PREFFCOL, TITRAQ_DEFFCOL)) + showTaskcol(); + if (!m_pPrefs->getBool(TITRAQ_PREFREMCOL, TITRAQ_DEFREMCOL)) + showRemarkcol(); +} Index: ossp-pkg/as/as-gui/as_const.h RCS File: /v/ossp/cvs/ossp-pkg/as/as-gui/as_const.h,v rcsdiff -q -kk '-r1.19' '-r1.20' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/as_const.h,v' 2>/dev/null --- as_const.h 2002/12/11 16:00:47 1.19 +++ as_const.h 2002/12/12 12:19:48 1.20 @@ -33,7 +33,7 @@ #define TITCONST_H -// Preferences string constants +// General preferences #define TITRAQ_PREFNAME "as_gui.conf" #define TITRAQ_APPTITLE "AS Gui" #define TITRAQ_PREFVER "0.5" @@ -48,11 +48,37 @@ #define TITRAQ_DEFREMOTELOG "no" #define TITRAQ_PREFLOCALLOG "loglocal" #define TITRAQ_DEFLOCALLOG "no" -#define TITRAQ_SAVEFIRST "The timesheet contains unsaved changes\nDo you want to save the changes or discard them?" + +// Column view preferences +#define TITRAQ_PREFSTATCOL "statcol" +#define TITRAQ_DEFSTATCOL true +#define TITRAQ_PREFLCOL "linecol" +#define TITRAQ_DEFLCOL true +#define TITRAQ_PREFUCOL "usercol" +#define TITRAQ_DEFUCOL false +#define TITRAQ_PREFGCOL "guidcol" +#define TITRAQ_DEFGCOL false +#define TITRAQ_PREFCCOL "crccol" +#define TITRAQ_DEFCCOL false +#define TITRAQ_PREFREVCOL "revcol" +#define TITRAQ_DEFREVCOL false +#define TITRAQ_PREFDCOL "datecol" +#define TITRAQ_DEFDCOL true +#define TITRAQ_PREFSTARTCOL "startcol" +#define TITRAQ_DEFSTARTCOL false +#define TITRAQ_PREFFCOL "finishcol" +#define TITRAQ_DEFFCOL false +#define TITRAQ_PREFACOL "amountcol" +#define TITRAQ_DEFACOL true +#define TITRAQ_PREFTCOL "taskcol" +#define TITRAQ_DEFTCOL true +#define TITRAQ_PREFREMCOL "remarkcol" +#define TITRAQ_DEFREMCOL true // Other string constants #define TITRAQ_DATEZERO "0000-00-00" #define TITRAQ_SEPARATORTOK " " +#define TITRAQ_SAVEFIRST "The timesheet contains unsaved changes\nDo you want to save the changes or discard them?" // Indexes of table columns #define TITRAQ_IDXALLCTRLS -1 Index: ossp-pkg/as/as-gui/as_gui.cpp RCS File: /v/ossp/cvs/ossp-pkg/as/as-gui/as_gui.cpp,v rcsdiff -q -kk '-r1.25' '-r1.26' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/as_gui.cpp,v' 2>/dev/null --- as_gui.cpp 2002/12/04 11:41:55 1.25 +++ as_gui.cpp 2002/12/12 12:19:48 1.26 @@ -65,6 +65,7 @@ setupStatusbar(); setupTable(); setupEditlay(); + setupColumns(); } catch (Genexcept& Genex) { Genex.reportErr(); Index: ossp-pkg/as/as-gui/as_gui.h RCS File: /v/ossp/cvs/ossp-pkg/as/as-gui/as_gui.h,v rcsdiff -q -kk '-r1.47' '-r1.48' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/as_gui.h,v' 2>/dev/null --- as_gui.h 2002/12/11 17:15:35 1.47 +++ as_gui.h 2002/12/12 12:19:48 1.48 @@ -162,6 +162,7 @@ void showAmountcol(void); // View menu show Amounts column void showTaskcol(void); // View menu show Tasks column void showRemarkcol(void); // View menu show Remarks column + void savePrefs(void); // Save user preferences protected: // Application main events @@ -188,7 +189,7 @@ QString *m_szFilename; // Standard members - bool m_bDirt; // To track dirty and clean states + bool m_bDirt; // To track dirty and clean states // Constructor helpers void setupPrefs(void); // Preferences @@ -200,6 +201,7 @@ void setupTable(void); // Table widget void setupEditlay(void); // Editing lay void setupPieces(void); // Assemble widget pieces + void setupColumns(void); // Arrange and configure columns // Data processing void loadData(QFile &); // Load accounting data from file Index: ossp-pkg/as/as-gui/as_main.cpp RCS File: /v/ossp/cvs/ossp-pkg/as/as-gui/as_main.cpp,v rcsdiff -q -kk '-r1.9' '-r1.10' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/as_main.cpp,v' 2>/dev/null --- as_main.cpp 2002/12/10 00:00:57 1.9 +++ as_main.cpp 2002/12/12 12:19:48 1.10 @@ -40,5 +40,6 @@ App.setMainWidget(&Mainform); Mainform.show(); // Finally start the show App.connect(&App, SIGNAL(lastWindowClosed()), &App, SLOT(quit())); + App.connect(&App, SIGNAL(aboutToQuit()), &Mainform, SLOT(savePrefs())); return App.exec(); } Index: ossp-pkg/as/as-gui/as_slot.cpp RCS File: /v/ossp/cvs/ossp-pkg/as/as-gui/as_slot.cpp,v rcsdiff -q -kk '-r1.48' '-r1.49' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/as_slot.cpp,v' 2>/dev/null --- as_slot.cpp 2002/12/11 17:15:35 1.48 +++ as_slot.cpp 2002/12/12 12:19:48 1.49 @@ -972,6 +972,26 @@ } // +// Save user preferences +// +void Titraqform::savePrefs(void) +{ + // Get check status from column menu and pass it to prefs handler + m_pPrefs->setBool(TITRAQ_PREFSTATCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXSTATCOL))); + m_pPrefs->setBool(TITRAQ_PREFLCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXLCOL))); + m_pPrefs->setBool(TITRAQ_PREFUCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXUCOL))); + m_pPrefs->setBool(TITRAQ_PREFGCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXGCOL))); + m_pPrefs->setBool(TITRAQ_PREFCCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXCCOL))); + m_pPrefs->setBool(TITRAQ_PREFREVCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXREVCOL))); + m_pPrefs->setBool(TITRAQ_PREFDCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXDCOL))); + m_pPrefs->setBool(TITRAQ_PREFSTARTCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXSTARTCOL))); + m_pPrefs->setBool(TITRAQ_PREFFCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXFCOL))); + m_pPrefs->setBool(TITRAQ_PREFACOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXACOL))); + m_pPrefs->setBool(TITRAQ_PREFFCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXFCOL))); + m_pPrefs->setBool(TITRAQ_PREFREMCOL, m_pColspopup->isItemChecked(m_pColspopup->idAt(TITRAQ_IDXREMCOL))); +} + +// // Get help on Titraq functionality // void Titraqform::helpContents(void)