Index: ossp-pkg/as/as-gui/Makefile.in RCS File: /v/ossp/cvs/ossp-pkg/as/as-gui/Makefile.in,v rcsdiff -q -kk '-r1.7' '-r1.8' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/Makefile.in,v' 2>/dev/null --- Makefile.in 2002/11/18 22:12:45 1.7 +++ Makefile.in 2002/11/18 22:31:12 1.8 @@ -65,9 +65,9 @@ TARGET_PROGS = titraq TARGET_MANS = titraq.1 titraq.conf.5 -SRCS = main.cpp titraq.cpp titrex.cpp generic.cpp titraq_version.c +SRCS = main.cpp titraq.cpp titassist.cpp titrex.cpp generic.cpp titraq_version.c -OBJS = main.o titraq.o titrex.o generic.o titraq_version.o +OBJS = main.o titraq.o titassist.o titrex.o generic.o titraq_version.o GRAFX = gfx/ossplogo.xpm Index: ossp-pkg/as/as-gui/as_assist.cpp RCS File: /v/ossp/cvs/ossp-pkg/as/as-gui/as_assist.cpp,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/as/as-gui/as_assist.cpp,v' | diff -u /dev/null - -L'ossp-pkg/as/as-gui/as_assist.cpp' 2>/dev/null --- ossp-pkg/as/as-gui/as_assist.cpp +++ - 2025-04-11 21:52:51.386304324 +0200 @@ -0,0 +1,408 @@ +// Qt headers +#include +#include +#include +#include +#include +#include +#include + +// User interface +#include "titraq.h" +#include "titrex.h" // Exception classes +#include "gfx/ossplogo.xpm" // static const char *s_kpcOssplogo_xpm[] +#include "gfx/qtlogo.xpm" // static const char *s_kpcQtlogo_xpm[] +#include "gfx/filenew.xpm" // static const char *s_kpcFilenew_xpm[] +#include "gfx/fileopen.xpm" // static const char *s_kpcFileopen_xpm[] +#include "gfx/filesave.xpm" // static const char *s_kpcFilesave_xpm[] +#include "gfx/whatsthis.xpm" // static const char *s_kpcWhatsthis_xpm[] + + +// +// Construct the icon images +// +void Titraqform::setupIcons(void) +{ + // Initialize icon images + m_pOsspicon = new QImage(s_kpcOssplogo_xpm); + m_pQticon = new QImage(s_kpcQtlogo_xpm); + m_pNewicon = new QImage(s_kpcFilenew_xpm); + m_pOpenicon = new QImage(s_kpcFileopen_xpm); + m_pSaveicon = new QImage(s_kpcFilesave_xpm); + m_pWhatsicon = new QImage(s_kpcWhatsthis_xpm); + + // Lets test out our sanity + if (!(m_pOsspicon && m_pQticon && m_pNewicon && m_pNewicon && \ + m_pOpenicon && m_pSaveicon && m_pWhatsicon)) + throw Genexcept("Main window icon creation failed."); +} + +// +// Construct the menu bar +// +void Titraqform::setupMenubar(void) +{ + m_pMenubar = menuBar(); // Grab menu bar owned by QMainWindow + if (m_pMenubar == NULL) // Sanity check + throw Genexcept("Main window menu bar nonexistant."); + + // Make an easter egg ;-) + QToolTip::add(m_pMenubar, QRect(0, 0, 2, 2), "Easter egg"); + + // Construct and populate the file menu with actions + QPopupMenu *pFilepopup = new QPopupMenu(this); + if (pFilepopup == NULL) // Sanity check + throw Genexcept("Main window file popup creation failed."); + m_pMenubar->insertItem(trUtf8("&File"), pFilepopup); + m_pFilenewact->addTo(pFilepopup); + m_pFileopenact->addTo(pFilepopup); + pFilepopup->insertSeparator(); + m_pFilecloseact->addTo(pFilepopup); + pFilepopup->insertSeparator(); + m_pFilesaveact->addTo(pFilepopup); + m_pFilesaveasact->addTo(pFilepopup); + pFilepopup->insertSeparator(); + m_pFilequitact->addTo(pFilepopup); + + // Construct and populate the help menu with subitems + QPopupMenu *pHelppopup = new QPopupMenu(this); + if (pHelppopup == NULL) // Sanity check + throw Genexcept("Main window help popup creation failed."); + m_pMenubar->insertItem(trUtf8("&Help"), pHelppopup); + pHelppopup->insertItem(trUtf8("&About"), this, SLOT(about()), Key_F1); + pHelppopup->insertSeparator(); + pHelppopup->insertItem(QPixmap(*m_pOsspicon), trUtf8("About &OSSP"), this, SLOT(aboutOSSP())); + pHelppopup->insertItem(QPixmap(*m_pQticon), trUtf8("About &Qt"), this, SLOT(aboutQt())); + pHelppopup->insertSeparator(); + pHelppopup->insertItem(QPixmap(*m_pWhatsicon), trUtf8("What's &This"), this, SLOT(whatsThis()), SHIFT+Key_F1); +} + +// +// Construct various actions +// +void Titraqform::setupActions(void) +{ + // File new action + m_pFilenewact = new QAction(trUtf8("New File"), QPixmap(s_kpcFilenew_xpm), trUtf8("&New"), CTRL+Key_N, this, "New"); + if (m_pFilenewact == NULL) // Sanity check + throw Genexcept("Main window file new action creation failed."); + connect(m_pFilenewact, SIGNAL(activated()), this, SLOT(newDoc())); + QMimeSourceFactory::defaultFactory()->setPixmap("filenew", m_pFilenewact->iconSet().pixmap()); + const char *kszFilenewtext = trUtf8("

" + "Click this button to make a blank file." + "You can also select the New command " + "from the File menu.

"); + m_pFilenewact->setWhatsThis(kszFilenewtext); + + // File open action + m_pFileopenact = new QAction(trUtf8("Open File"), QPixmap(s_kpcFileopen_xpm), trUtf8("&Open"), CTRL+Key_O, this, "Open"); + if (m_pFileopenact == NULL) // Sanity check + throw Genexcept("Main window file open action creation failed."); + connect(m_pFileopenact, SIGNAL(activated()), this, SLOT(choose())); + QMimeSourceFactory::defaultFactory()->setPixmap("fileopen", m_pFileopenact->iconSet().pixmap()); + const char *kszFileopentext = trUtf8("

" + "Click this button to open a new file." + "You can also select the Open command " + "from the File menu.

"); + m_pFileopenact->setWhatsThis(kszFileopentext); + + // File save current action + m_pFilesaveact = new QAction(trUtf8("Save File"), QPixmap(s_kpcFilesave_xpm), trUtf8("&Save"), CTRL+Key_S, this, "Save"); + if (m_pFilesaveact == NULL) // Sanity check + throw Genexcept("Main window file save action creation failed."); + connect(m_pFilesaveact, SIGNAL(activated()), this, SLOT(save())); + QMimeSourceFactory::defaultFactory()->setPixmap("filesave", m_pFilesaveact->iconSet().pixmap()); + const char *kszFilesavetext = trUtf8("

" + "Click this button to save the file you " + "are editing. You will be prompted for a file name.\n" + "You can also select the Save command " + "from the File menu.

"); + m_pFilesaveact->setWhatsThis(kszFilesavetext); + + // File save selected action + m_pFilesaveasact = new QAction(trUtf8("Save File As"), trUtf8("Save &as"), 0, this, "SaveAs"); + if (m_pFilesaveasact == NULL) // Sanity check + throw Genexcept("Main window file save as action creation failed."); + connect(m_pFilesaveasact, SIGNAL(activated()), this, SLOT(saveAs())); + m_pFilesaveasact->setWhatsThis(kszFilesavetext); + + // File close current action + m_pFilecloseact = new QAction(trUtf8("Close"), trUtf8("&Close"), CTRL+Key_W, this, "Close"); + if (m_pFilecloseact == NULL) // Sanity check + throw Genexcept("Main window file close action creation failed."); + connect(m_pFilecloseact, SIGNAL(activated()), this, SLOT(close())); + + // File quit action + m_pFilequitact = new QAction(trUtf8("Exit"), trUtf8("&Exit"), CTRL+Key_Q, this, "Exit"); + if (m_pFilequitact == NULL) // Sanity check + throw Genexcept("Main window file quit action creation failed."); + connect(m_pFilequitact, SIGNAL(activated()), qApp, SLOT(quit())); + + // Add data row action + m_pAddrowact = new QAction(trUtf8("Add Row"), QPixmap(s_kpcOssplogo_xpm), trUtf8("Add &row"), 0, this, "Addrow"); + if (m_pAddrowact == NULL) // Sanity check + throw Genexcept("Main window add row action creation failed."); + connect(m_pAddrowact, SIGNAL(activated()), this, SLOT(addEntry())); + QMimeSourceFactory::defaultFactory()->setPixmap("ossplogo", m_pAddrowact->iconSet().pixmap()); + const char *kszAddrowtext = trUtf8("

" + "Click this button to add a new row." + "You can also select the Add row command " + "from the Accounting menu.

"); + m_pAddrowact->setWhatsThis(kszAddrowtext); + + // Delete data row action + m_pDeleterowact = new QAction(trUtf8("Add Row"), QPixmap(s_kpcOssplogo_xpm), trUtf8("Add &row"), 0, this, "Deleterow"); + if (m_pDeleterowact == NULL) // Sanity check + throw Genexcept("Main window delete row action creation failed."); + connect(m_pDeleterowact, SIGNAL(activated()), this, SLOT(delEntry())); + QMimeSourceFactory::defaultFactory()->setPixmap("ossplogo", m_pDeleterowact->iconSet().pixmap()); + const char *kszDeleterowtext = trUtf8("

" + "Click this button to delete a row." + "You can also select the Delete row command " + "from the Accounting menu.

"); + m_pDeleterowact->setWhatsThis(kszDeleterowtext); + + // Write data action + m_pWritedataact = new QAction(trUtf8("Add Row"), QPixmap(s_kpcOssplogo_xpm), trUtf8("Add &row"), 0, this, "Writedata"); + if (m_pWritedataact == NULL) // Sanity check + throw Genexcept("Main window write data action creation failed."); + connect(m_pWritedataact, SIGNAL(activated()), this, SLOT(writeEntry())); + QMimeSourceFactory::defaultFactory()->setPixmap("ossplogo", m_pWritedataact->iconSet().pixmap()); + const char *kszWritedatatext = trUtf8("

" + "Click this button to write out your accounting data." + "You can also select the Write data command " + "from the Accounting menu.

"); + m_pWritedataact->setWhatsThis(kszWritedatatext); +} + +// +// Construct the file tool bar +// +void Titraqform::setupFiletools(void) +{ + // Construct and populate the main tool bar + m_pToolbar = new QToolBar("Toolfile", this, DockTop); + if (m_pToolbar == NULL) // Sanity check + throw Genexcept("Main window tool bar creation failed."); + m_pToolbar->setLabel(trUtf8("File Ops")); + m_pFilenewact->addTo(m_pToolbar); + m_pFileopenact->addTo(m_pToolbar); + m_pFilesaveact->addTo(m_pToolbar); + QWhatsThis::whatsThisButton(m_pToolbar); // Preconfigured whats this button +} + +// +// Construct the status bar +// +void Titraqform::setupStatusbar(void) +{ + m_pStatbar = statusBar(); // Grab status bar owned by QMainWindow + if (m_pStatbar == NULL) // Sanity check + throw Genexcept("Main window status bar nonexistant."); +} + +// +// Construct the central widget +// +void Titraqform::setupCentralwidget(void) +{ + // Create a central frame and associated layout for QMainWindow + m_pCenframe = new QFrame(this, "Centralframe"); + if (m_pCenframe == NULL) // Sanity check + throw Genexcept("Main window central frame creation failed."); + m_pCenframe->setFrameShape(QFrame::StyledPanel); + m_pCenframe->setFrameShadow(QFrame::Sunken); + setCentralWidget(m_pCenframe); + + // Layout controls for table, buttons, and status line + m_pMainlayout = new QVBoxLayout(m_pCenframe, 10, 6, "Mainlayout"); // For layouts + m_pPackagelayout = new QVBoxLayout(0, 0, 6, "Packagelayout"); // For table + m_pControllayout = new QHBoxLayout(0, 0, 6, "Controllayout"); // For buttons + + if (!(m_pMainlayout && m_pMainlayout && m_pMainlayout)) // Sanity check + throw Genexcept("Main window layout creation failed."); + + // Specify ordering of the layouts + m_pMainlayout->addLayout(m_pPackagelayout); + m_pMainlayout->addLayout(m_pControllayout); +} + +// +// Construct the table +// +void Titraqform::setupTable(void) +{ + // The table itself + m_pMaintable = new QTable(m_pCenframe, "Maintable"); + if (m_pMaintable == NULL) // Sanity check + throw Genexcept("Main window table creation failed."); + m_pMaintable->setNumRows(g_knRows); + m_pMaintable->setNumCols(g_knCols); + m_pMaintable->setReadOnly(false); // Not read only + m_pMaintable->setColumnMovingEnabled(true); // Ctrl-drag of headers + m_pMaintable->setSelectionMode(QTable::MultiRow); // Multi row selection + m_pMaintable->setLeftMargin(0); // Get rid of the vertical header + m_pMaintable->verticalHeader()->hide(); // by hiding it with a margin of 0 + m_pMaintable->horizontalHeader()->setResizeEnabled(false); + m_pMaintable->setColumnStretchable(5, true); + + // Table header row + m_pTablehead = m_pMaintable->horizontalHeader(); + m_pTablehead->setLabel(0, QObject::trUtf8("Date"), 96); + m_pTablehead->setLabel(1, QObject::trUtf8("Begin"), 80); + m_pTablehead->setLabel(2, QObject::trUtf8("End"), 80); + m_pTablehead->setLabel(3, QObject::trUtf8("Amount"), 52); + m_pTablehead->setLabel(4, QObject::trUtf8("Task"), 70); + m_pTablehead->setLabel(5, QObject::trUtf8("Remark")); + m_pTablehead->setMovingEnabled(true); + + // Icon image items + QPixmap Osspminipix(QPixmap(m_pOsspicon->scaleHeight(m_pMaintable->rowHeight(6)))); + m_pMaintable->setItem(0, 0, new QTableItem(m_pMaintable, QTableItem::Never, "OSSP trac")); + m_pMaintable->setPixmap(0, 0, Osspminipix); + +// // Make a generic table item for all rows +// for (int i = 1; i < knRows; ++i) +// m_pMaintable->setItem(i, 0, new QTableItem(m_pMaintable, QTableItem::Always, ("Enter"))); + + // Make the date selector for all rows + for (int i = 1; i < g_knRows; ++i) { + QDate *pSylvestre = new QDate(2002, 12, 31); + QDateEdit *pDateEdit = new QDateEdit(*pSylvestre, m_pMaintable, "Date"); + m_pMaintable->setCellWidget(i, 0, pDateEdit); + } + + // Make the time start selector for all rows + for (int i = 0; i < g_knRows; ++i) { + QTimeEdit *pStart = new QTimeEdit(QTime::currentTime(), m_pMaintable, "Start"); + m_pMaintable->setCellWidget(i, 1, pStart); + } + + // Make the time end selector for all rows + for (int i = 0; i < g_knRows; ++i) { + QTimeEdit *pEnd = new QTimeEdit(QTime::currentTime(), m_pMaintable, "End"); + m_pMaintable->setCellWidget(i, 2, pEnd); + } + + // Make the amount selector for all rows + for (int i = 0; i < g_knRows; ++i) { + QSpinBox *pAmount = new QSpinBox(m_pMaintable, "Amount"); + m_pMaintable->setCellWidget(i, 3, pAmount); + } + + // Populate the task stringlist + m_pTaskentries = new QStringList; + if (m_pTaskentries == NULL) // Sanity check + throw Genexcept("Main window task entries creation failed."); + *m_pTaskentries << trUtf8("titraq") << trUtf8("opgui") << trUtf8("email") << trUtf8("admin") << trUtf8("pmod") << trUtf8("psod") << trUtf8("meeting") << trUtf8("training"); + + // Make the combobox items for all rows + for (int i = 0; i < g_knRows; ++i) { + QComboBox *pTasks = new QComboBox(true, m_pMaintable, "Tasks"); + pTasks->insertStringList(*m_pTaskentries); + pTasks->setCurrentText(NULL); + pTasks->setAutoCompletion(true); + m_pMaintable->setCellWidget(i, 4, pTasks); + } + +// // Make the listbox for all rows +// for (int i = 0; i < knRows; ++i) { +// QListBox *pTasks = new QListBox(m_pMaintable, "Tasks"); +// pTasks->insertStringList(*pTaskentries); +// pTasks->setCurrentItem(i % 8); +// m_pMaintable->setCellWidget(i, 4, pTasks); +// } + +// // Populate a listbox for the task combobox +// QListBox *pListasks = new QListBox(m_pMaintable); +// pListasks->insertItem("titraq"); +// pListasks->insertItem("opgui"); +// pListasks->insertItem("email"); +// pListasks->insertItem("admin"); +// pListasks->insertItem("pmod"); +// pListasks->insertItem("psod"); +// pListasks->insertItem("meeting"); +// pListasks->insertItem("training"); + +// // Make the combobox items for all rows +// for (int i = 0; i < knRows; ++i) { +// QComboTableItem *pTasks = new QComboTableItem(m_pMaintable, *m_pTaskentries, false); +// pTasks->setCurrentItem(i % 8); +// m_pMaintable->setItem(i, 4, pTasks); +// } + + m_pPackagelayout->addWidget(m_pMaintable); // Finally add the damn table +} + +// +// Construct the bottom output line +// +void Titraqform::setupOutput(void) +{ + // Bottom output line + m_pStatus = new QLineEdit(m_pCenframe, "Status"); + if (m_pStatus == NULL) // Sanity check + throw Genexcept("Main window status output creation failed."); + m_pStatus->setText(trUtf8("Happy birthday to Ralf")); + m_pStatus->setFrameShape(QLineEdit::LineEditPanel); + m_pStatus->setFrameShadow(QLineEdit::Sunken); + m_pStatus->setFrame(true); + m_pStatus->setReadOnly(true); + QToolTip::add(m_pStatus, trUtf8("Status Line")); + m_pPackagelayout->addWidget(m_pStatus); + + // Whatsthis info for the output line + const char *kszStatouttext = trUtf8("

" + "This line shows the current row of your accounting data." + " You can also change the data in place, or above " + "from the Accounting table."); + QWhatsThis::add(m_pStatus, kszStatouttext); +} + +// +// Construct the buttons +// +void Titraqform::setupButtons(void) +{ + // Tuple push button add + m_pAddbutton = new QPushButton(m_pCenframe, "AddButton"); + if (m_pAddbutton == NULL) // Sanity check + throw Genexcept("Main window add button creation failed."); + m_pAddbutton->setCursor(QCursor(13)); + m_pAddbutton->setText(trUtf8("&Add")); + QToolTip::add(m_pAddbutton, trUtf8("Add Entry")); + connect(m_pAddbutton, SIGNAL(clicked()), this, SLOT(addEntry())); + m_pControllayout->addWidget(m_pAddbutton); + + // Tuple push button delete + m_pDeletebutton = new QPushButton(m_pCenframe, "Deletebutton"); + if (m_pDeletebutton == NULL) // Sanity check + throw Genexcept("Main window delete button creation failed."); + m_pDeletebutton->setCursor(QCursor(13)); + m_pDeletebutton->setText(trUtf8("&Delete")); + m_pDeletebutton->setFlat(false); + QToolTip::add(m_pDeletebutton, trUtf8("Delete Entry")); + connect(m_pDeletebutton, SIGNAL(clicked()), this, SLOT(delEntry())); + m_pControllayout->addWidget(m_pDeletebutton); + + // Tuple push button write + m_pWritebutton = new QPushButton(m_pCenframe, "Writebutton"); + if (m_pWritebutton == NULL) // Sanity check + throw Genexcept("Main window write button creation failed."); + m_pWritebutton->setCursor(QCursor(13)); + m_pWritebutton->setText(trUtf8("&Write")); + QToolTip::add(m_pWritebutton, trUtf8("Write Entry")); + connect(m_pWritebutton, SIGNAL(clicked()), this, SLOT(writeEntry())); + m_pControllayout->addWidget(m_pWritebutton); + + // Tuple push button quit + m_pQuitbutton = new QPushButton(m_pCenframe, "Quitbutton"); + if (m_pQuitbutton == NULL) // Sanity check + throw Genexcept("Main window quit button creation failed."); + m_pQuitbutton->setCursor(QCursor(13)); + m_pQuitbutton->setText(trUtf8("&Quit")); + m_pQuitbutton->setFlat(false); + QToolTip::add(m_pQuitbutton, trUtf8("Quit titraq")); + connect(m_pQuitbutton, SIGNAL(clicked()), qApp, SLOT(quit())); + m_pControllayout->addWidget(m_pQuitbutton); +} 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.12' '-r1.13' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/as_gui.cpp,v' 2>/dev/null --- as_gui.cpp 2002/11/18 22:13:56 1.12 +++ as_gui.cpp 2002/11/18 22:31:12 1.13 @@ -1,27 +1,11 @@ // Qt headers -#include -#include -#include -#include -#include -#include -#include #include #include -// System headers -#include - // User interface #include "titraq.h" // Main classes #include "titrex.h" // Exception classes #include "generic.h" // Generic classes -#include "gfx/ossplogo.xpm" // static const char *s_kpcOssplogo_xpm[] -#include "gfx/qtlogo.xpm" // static const char *s_kpcQtlogo_xpm[] -#include "gfx/filenew.xpm" // static const char *s_kpcFilenew_xpm[] -#include "gfx/fileopen.xpm" // static const char *s_kpcFileopen_xpm[] -#include "gfx/filesave.xpm" // static const char *s_kpcFilesave_xpm[] -#include "gfx/whatsthis.xpm" // static const char *s_kpcWhatsthis_xpm[] // Overload init for custom initialization of the app void Titraqform::init(void) @@ -46,14 +30,6 @@ m_bDirt = false; m_szFilename = new QString(); - // Initialize icon images - m_pOsspicon = new QImage(s_kpcOssplogo_xpm); - m_pQticon = new QImage(s_kpcQtlogo_xpm); - m_pNewicon = new QImage(s_kpcFilenew_xpm); - m_pOpenicon = new QImage(s_kpcFileopen_xpm); - m_pSaveicon = new QImage(s_kpcFilesave_xpm); - m_pWhatsicon = new QImage(s_kpcWhatsthis_xpm); - // Initial widget manipulations if (!kszName) setName(trUtf8("Titraqform")); @@ -66,6 +42,7 @@ // Abstractly build main widgets try { + setupIcons(); setupActions(); setupMenubar(); setupFiletools(); @@ -278,377 +255,6 @@ } // -// Construct the menu bar -// -void Titraqform::setupMenubar(void) -{ - m_pMenubar = menuBar(); // Grab menu bar owned by QMainWindow - if (m_pMenubar == NULL) // Sanity check - throw Genexcept("Main window menu bar nonexistant."); - - // Make an easter egg ;-) - QToolTip::add(m_pMenubar, QRect(0, 0, 2, 2), "Easter egg"); - - // Construct and populate the file menu with actions - QPopupMenu *pFilepopup = new QPopupMenu(this); - if (pFilepopup == NULL) // Sanity check - throw Genexcept("Main window file popup creation failed."); - m_pMenubar->insertItem(trUtf8("&File"), pFilepopup); - m_pFilenewact->addTo(pFilepopup); - m_pFileopenact->addTo(pFilepopup); - pFilepopup->insertSeparator(); - m_pFilecloseact->addTo(pFilepopup); - pFilepopup->insertSeparator(); - m_pFilesaveact->addTo(pFilepopup); - m_pFilesaveasact->addTo(pFilepopup); - pFilepopup->insertSeparator(); - m_pFilequitact->addTo(pFilepopup); - - // Construct and populate the help menu with subitems - QPopupMenu *pHelppopup = new QPopupMenu(this); - if (pHelppopup == NULL) // Sanity check - throw Genexcept("Main window help popup creation failed."); - m_pMenubar->insertItem(trUtf8("&Help"), pHelppopup); - pHelppopup->insertItem(trUtf8("&About"), this, SLOT(about()), Key_F1); - pHelppopup->insertSeparator(); - pHelppopup->insertItem(QPixmap(*m_pOsspicon), trUtf8("About &OSSP"), this, SLOT(aboutOSSP())); - pHelppopup->insertItem(QPixmap(*m_pQticon), trUtf8("About &Qt"), this, SLOT(aboutQt())); - pHelppopup->insertSeparator(); - pHelppopup->insertItem(QPixmap(*m_pWhatsicon), trUtf8("What's &This"), this, SLOT(whatsThis()), SHIFT+Key_F1); -} - -// -// Construct various actions -// -void Titraqform::setupActions(void) -{ - // File new action - m_pFilenewact = new QAction(trUtf8("New File"), QPixmap(s_kpcFilenew_xpm), trUtf8("&New"), CTRL+Key_N, this, "New"); - if (m_pFilenewact == NULL) // Sanity check - throw Genexcept("Main window file new action creation failed."); - connect(m_pFilenewact, SIGNAL(activated()), this, SLOT(newDoc())); - QMimeSourceFactory::defaultFactory()->setPixmap("filenew", m_pFilenewact->iconSet().pixmap()); - const char *kszFilenewtext = trUtf8("

" - "Click this button to make a blank file." - "You can also select the New command " - "from the File menu.

"); - m_pFilenewact->setWhatsThis(kszFilenewtext); - - // File open action - m_pFileopenact = new QAction(trUtf8("Open File"), QPixmap(s_kpcFileopen_xpm), trUtf8("&Open"), CTRL+Key_O, this, "Open"); - if (m_pFileopenact == NULL) // Sanity check - throw Genexcept("Main window file open action creation failed."); - connect(m_pFileopenact, SIGNAL(activated()), this, SLOT(choose())); - QMimeSourceFactory::defaultFactory()->setPixmap("fileopen", m_pFileopenact->iconSet().pixmap()); - const char *kszFileopentext = trUtf8("

" - "Click this button to open a new file." - "You can also select the Open command " - "from the File menu.

"); - m_pFileopenact->setWhatsThis(kszFileopentext); - - // File save current action - m_pFilesaveact = new QAction(trUtf8("Save File"), QPixmap(s_kpcFilesave_xpm), trUtf8("&Save"), CTRL+Key_S, this, "Save"); - if (m_pFilesaveact == NULL) // Sanity check - throw Genexcept("Main window file save action creation failed."); - connect(m_pFilesaveact, SIGNAL(activated()), this, SLOT(save())); - QMimeSourceFactory::defaultFactory()->setPixmap("filesave", m_pFilesaveact->iconSet().pixmap()); - const char *kszFilesavetext = trUtf8("

" - "Click this button to save the file you " - "are editing. You will be prompted for a file name.\n" - "You can also select the Save command " - "from the File menu.

"); - m_pFilesaveact->setWhatsThis(kszFilesavetext); - - // File save selected action - m_pFilesaveasact = new QAction(trUtf8("Save File As"), trUtf8("Save &as"), 0, this, "SaveAs"); - if (m_pFilesaveasact == NULL) // Sanity check - throw Genexcept("Main window file save as action creation failed."); - connect(m_pFilesaveasact, SIGNAL(activated()), this, SLOT(saveAs())); - m_pFilesaveasact->setWhatsThis(kszFilesavetext); - - // File close current action - m_pFilecloseact = new QAction(trUtf8("Close"), trUtf8("&Close"), CTRL+Key_W, this, "Close"); - if (m_pFilecloseact == NULL) // Sanity check - throw Genexcept("Main window file close action creation failed."); - connect(m_pFilecloseact, SIGNAL(activated()), this, SLOT(close())); - - // File quit action - m_pFilequitact = new QAction(trUtf8("Exit"), trUtf8("&Exit"), CTRL+Key_Q, this, "Exit"); - if (m_pFilequitact == NULL) // Sanity check - throw Genexcept("Main window file quit action creation failed."); - connect(m_pFilequitact, SIGNAL(activated()), qApp, SLOT(quit())); - - // Add data row action - m_pAddrowact = new QAction(trUtf8("Add Row"), QPixmap(s_kpcOssplogo_xpm), trUtf8("Add &row"), 0, this, "Addrow"); - if (m_pAddrowact == NULL) // Sanity check - throw Genexcept("Main window add row action creation failed."); - connect(m_pAddrowact, SIGNAL(activated()), this, SLOT(addEntry())); - QMimeSourceFactory::defaultFactory()->setPixmap("ossplogo", m_pAddrowact->iconSet().pixmap()); - const char *kszAddrowtext = trUtf8("

" - "Click this button to add a new row." - "You can also select the Add row command " - "from the Accounting menu.

"); - m_pAddrowact->setWhatsThis(kszAddrowtext); - - // Delete data row action - m_pDeleterowact = new QAction(trUtf8("Add Row"), QPixmap(s_kpcOssplogo_xpm), trUtf8("Add &row"), 0, this, "Deleterow"); - if (m_pDeleterowact == NULL) // Sanity check - throw Genexcept("Main window delete row action creation failed."); - connect(m_pDeleterowact, SIGNAL(activated()), this, SLOT(delEntry())); - QMimeSourceFactory::defaultFactory()->setPixmap("ossplogo", m_pDeleterowact->iconSet().pixmap()); - const char *kszDeleterowtext = trUtf8("

" - "Click this button to delete a row." - "You can also select the Delete row command " - "from the Accounting menu.

"); - m_pDeleterowact->setWhatsThis(kszDeleterowtext); - - // Write data action - m_pWritedataact = new QAction(trUtf8("Add Row"), QPixmap(s_kpcOssplogo_xpm), trUtf8("Add &row"), 0, this, "Writedata"); - if (m_pWritedataact == NULL) // Sanity check - throw Genexcept("Main window write data action creation failed."); - connect(m_pWritedataact, SIGNAL(activated()), this, SLOT(writeEntry())); - QMimeSourceFactory::defaultFactory()->setPixmap("ossplogo", m_pWritedataact->iconSet().pixmap()); - const char *kszWritedatatext = trUtf8("

" - "Click this button to write out your accounting data." - "You can also select the Write data command " - "from the Accounting menu.

"); - m_pWritedataact->setWhatsThis(kszWritedatatext); -} - -// -// Construct the file tool bar -// -void Titraqform::setupFiletools(void) -{ - // Construct and populate the main tool bar - m_pToolbar = new QToolBar("Toolfile", this, DockTop); - if (m_pToolbar == NULL) // Sanity check - throw Genexcept("Main window tool bar creation failed."); - m_pToolbar->setLabel(trUtf8("File Ops")); - m_pFilenewact->addTo(m_pToolbar); - m_pFileopenact->addTo(m_pToolbar); - m_pFilesaveact->addTo(m_pToolbar); - QWhatsThis::whatsThisButton(m_pToolbar); // Preconfigured whats this button -} - -// -// Construct the status bar -// -void Titraqform::setupStatusbar(void) -{ - m_pStatbar = statusBar(); // Grab status bar owned by QMainWindow - if (m_pStatbar == NULL) // Sanity check - throw Genexcept("Main window status bar nonexistant."); -} - -// -// Construct the central widget -// -void Titraqform::setupCentralwidget(void) -{ - // Create a central frame and associated layout for QMainWindow - m_pCenframe = new QFrame(this, "Centralframe"); - if (m_pCenframe == NULL) // Sanity check - throw Genexcept("Main window central frame creation failed."); - m_pCenframe->setFrameShape(QFrame::StyledPanel); - m_pCenframe->setFrameShadow(QFrame::Sunken); - setCentralWidget(m_pCenframe); - - // Layout controls for table, buttons, and status line - m_pMainlayout = new QVBoxLayout(m_pCenframe, 10, 6, "Mainlayout"); // For layouts - m_pPackagelayout = new QVBoxLayout(0, 0, 6, "Packagelayout"); // For table - m_pControllayout = new QHBoxLayout(0, 0, 6, "Controllayout"); // For buttons - - if (!(m_pMainlayout && m_pMainlayout && m_pMainlayout)) // Sanity check - throw Genexcept("Main window layout creation failed."); - - // Specify ordering of the layouts - m_pMainlayout->addLayout(m_pPackagelayout); - m_pMainlayout->addLayout(m_pControllayout); -} - -// -// Construct the table -// -void Titraqform::setupTable(void) -{ - // The table itself - m_pMaintable = new QTable(m_pCenframe, "Maintable"); - if (m_pMaintable == NULL) // Sanity check - throw Genexcept("Main window table creation failed."); - m_pMaintable->setNumRows(g_knRows); - m_pMaintable->setNumCols(g_knCols); - m_pMaintable->setReadOnly(false); // Not read only - m_pMaintable->setColumnMovingEnabled(true); // Ctrl-drag of headers - m_pMaintable->setSelectionMode(QTable::MultiRow); // Multi row selection - m_pMaintable->setLeftMargin(0); // Get rid of the vertical header - m_pMaintable->verticalHeader()->hide(); // by hiding it with a margin of 0 - m_pMaintable->horizontalHeader()->setResizeEnabled(false); - m_pMaintable->setColumnStretchable(5, true); - - // Table header row - m_pTablehead = m_pMaintable->horizontalHeader(); - m_pTablehead->setLabel(0, QObject::trUtf8("Date"), 96); - m_pTablehead->setLabel(1, QObject::trUtf8("Begin"), 80); - m_pTablehead->setLabel(2, QObject::trUtf8("End"), 80); - m_pTablehead->setLabel(3, QObject::trUtf8("Amount"), 52); - m_pTablehead->setLabel(4, QObject::trUtf8("Task"), 70); - m_pTablehead->setLabel(5, QObject::trUtf8("Remark")); - m_pTablehead->setMovingEnabled(true); - - // Icon image items - QPixmap Osspminipix(QPixmap(m_pOsspicon->scaleHeight(m_pMaintable->rowHeight(6)))); - m_pMaintable->setItem(0, 0, new QTableItem(m_pMaintable, QTableItem::Never, "OSSP trac")); - m_pMaintable->setPixmap(0, 0, Osspminipix); - -// // Make a generic table item for all rows -// for (int i = 1; i < knRows; ++i) -// m_pMaintable->setItem(i, 0, new QTableItem(m_pMaintable, QTableItem::Always, ("Enter"))); - - // Make the date selector for all rows - for (int i = 1; i < g_knRows; ++i) { - QDate *pSylvestre = new QDate(2002, 12, 31); - QDateEdit *pDateEdit = new QDateEdit(*pSylvestre, m_pMaintable, "Date"); - m_pMaintable->setCellWidget(i, 0, pDateEdit); - } - - // Make the time start selector for all rows - for (int i = 0; i < g_knRows; ++i) { - QTimeEdit *pStart = new QTimeEdit(QTime::currentTime(), m_pMaintable, "Start"); - m_pMaintable->setCellWidget(i, 1, pStart); - } - - // Make the time end selector for all rows - for (int i = 0; i < g_knRows; ++i) { - QTimeEdit *pEnd = new QTimeEdit(QTime::currentTime(), m_pMaintable, "End"); - m_pMaintable->setCellWidget(i, 2, pEnd); - } - - // Make the amount selector for all rows - for (int i = 0; i < g_knRows; ++i) { - QSpinBox *pAmount = new QSpinBox(m_pMaintable, "Amount"); - m_pMaintable->setCellWidget(i, 3, pAmount); - } - - // Populate the task stringlist - m_pTaskentries = new QStringList; - if (m_pTaskentries == NULL) // Sanity check - throw Genexcept("Main window task entries creation failed."); - *m_pTaskentries << trUtf8("titraq") << trUtf8("opgui") << trUtf8("email") << trUtf8("admin") << trUtf8("pmod") << trUtf8("psod") << trUtf8("meeting") << trUtf8("training"); - - // Make the combobox items for all rows - for (int i = 0; i < g_knRows; ++i) { - QComboBox *pTasks = new QComboBox(true, m_pMaintable, "Tasks"); - pTasks->insertStringList(*m_pTaskentries); - pTasks->setCurrentText(NULL); - pTasks->setAutoCompletion(true); - m_pMaintable->setCellWidget(i, 4, pTasks); - } - -// // Make the listbox for all rows -// for (int i = 0; i < knRows; ++i) { -// QListBox *pTasks = new QListBox(m_pMaintable, "Tasks"); -// pTasks->insertStringList(*pTaskentries); -// pTasks->setCurrentItem(i % 8); -// m_pMaintable->setCellWidget(i, 4, pTasks); -// } - -// // Populate a listbox for the task combobox -// QListBox *pListasks = new QListBox(m_pMaintable); -// pListasks->insertItem("titraq"); -// pListasks->insertItem("opgui"); -// pListasks->insertItem("email"); -// pListasks->insertItem("admin"); -// pListasks->insertItem("pmod"); -// pListasks->insertItem("psod"); -// pListasks->insertItem("meeting"); -// pListasks->insertItem("training"); - -// // Make the combobox items for all rows -// for (int i = 0; i < knRows; ++i) { -// QComboTableItem *pTasks = new QComboTableItem(m_pMaintable, *m_pTaskentries, false); -// pTasks->setCurrentItem(i % 8); -// m_pMaintable->setItem(i, 4, pTasks); -// } - - m_pPackagelayout->addWidget(m_pMaintable); // Finally add the damn table -} - -// -// Construct the bottom output line -// -void Titraqform::setupOutput(void) -{ - // Bottom output line - m_pStatus = new QLineEdit(m_pCenframe, "Status"); - if (m_pStatus == NULL) // Sanity check - throw Genexcept("Main window status output creation failed."); - m_pStatus->setText(trUtf8("Happy birthday to Ralf")); - m_pStatus->setFrameShape(QLineEdit::LineEditPanel); - m_pStatus->setFrameShadow(QLineEdit::Sunken); - m_pStatus->setFrame(true); - m_pStatus->setReadOnly(true); - QToolTip::add(m_pStatus, trUtf8("Status Line")); - m_pPackagelayout->addWidget(m_pStatus); - - // Whatsthis info for the output line - const char *kszStatouttext = trUtf8("

" - "This line shows the current row of your accounting data." - " You can also change the data in place, or above " - "from the Accounting table."); - QWhatsThis::add(m_pStatus, kszStatouttext); -} - -// -// Construct the buttons -// -void Titraqform::setupButtons(void) -{ - // Tuple push button add - m_pAddbutton = new QPushButton(m_pCenframe, "AddButton"); - if (m_pAddbutton == NULL) // Sanity check - throw Genexcept("Main window add button creation failed."); - m_pAddbutton->setCursor(QCursor(13)); - m_pAddbutton->setText(trUtf8("&Add")); - QToolTip::add(m_pAddbutton, trUtf8("Add Entry")); - connect(m_pAddbutton, SIGNAL(clicked()), this, SLOT(addEntry())); - m_pControllayout->addWidget(m_pAddbutton); - - // Tuple push button delete - m_pDeletebutton = new QPushButton(m_pCenframe, "Deletebutton"); - if (m_pDeletebutton == NULL) // Sanity check - throw Genexcept("Main window delete button creation failed."); - m_pDeletebutton->setCursor(QCursor(13)); - m_pDeletebutton->setText(trUtf8("&Delete")); - m_pDeletebutton->setFlat(false); - QToolTip::add(m_pDeletebutton, trUtf8("Delete Entry")); - connect(m_pDeletebutton, SIGNAL(clicked()), this, SLOT(delEntry())); - m_pControllayout->addWidget(m_pDeletebutton); - - // Tuple push button write - m_pWritebutton = new QPushButton(m_pCenframe, "Writebutton"); - if (m_pWritebutton == NULL) // Sanity check - throw Genexcept("Main window write button creation failed."); - m_pWritebutton->setCursor(QCursor(13)); - m_pWritebutton->setText(trUtf8("&Write")); - QToolTip::add(m_pWritebutton, trUtf8("Write Entry")); - connect(m_pWritebutton, SIGNAL(clicked()), this, SLOT(writeEntry())); - m_pControllayout->addWidget(m_pWritebutton); - - // Tuple push button quit - m_pQuitbutton = new QPushButton(m_pCenframe, "Quitbutton"); - if (m_pQuitbutton == NULL) // Sanity check - throw Genexcept("Main window quit button creation failed."); - m_pQuitbutton->setCursor(QCursor(13)); - m_pQuitbutton->setText(trUtf8("&Quit")); - m_pQuitbutton->setFlat(false); - QToolTip::add(m_pQuitbutton, trUtf8("Quit titraq")); - connect(m_pQuitbutton, SIGNAL(clicked()), qApp, SLOT(quit())); - m_pControllayout->addWidget(m_pQuitbutton); - -} - -// // Destroy the object and free any allocated resources // Titraqform::~Titraqform(void) 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.9' '-r1.10' -u '/v/ossp/cvs/ossp-pkg/as/as-gui/as_gui.h,v' 2>/dev/null --- as_gui.h 2002/11/18 22:13:56 1.9 +++ as_gui.h 2002/11/18 22:31:12 1.10 @@ -99,6 +99,7 @@ bool isDirty(void); // Check for changed state danger // Constructor helpers + void setupIcons(void); // Icons void setupActions(void); // Actions void setupMenubar(void); // Menu bar void setupFiletools(void); // Tool bar