author | harlekin <harlekin> | 2002-08-01 00:47:09 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-08-01 00:47:09 (UTC) |
commit | ba034bf4cb91b83654056945fc27313a28528015 (patch) (side-by-side diff) | |
tree | 4df33783ca21017424135aacc2e45b94437cfdff /noncore/apps/opie-sheet/sortdlg.cpp | |
parent | 26ff0c72228b9c89b079dfa381d448b6152eb408 (diff) | |
download | opie-ba034bf4cb91b83654056945fc27313a28528015.zip opie-ba034bf4cb91b83654056945fc27313a28528015.tar.gz opie-ba034bf4cb91b83654056945fc27313a28528015.tar.bz2 |
gcc3.x fixes
Diffstat (limited to 'noncore/apps/opie-sheet/sortdlg.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-sheet/sortdlg.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/noncore/apps/opie-sheet/sortdlg.cpp b/noncore/apps/opie-sheet/sortdlg.cpp index c60be0d..c2cdec8 100644 --- a/noncore/apps/opie-sheet/sortdlg.cpp +++ b/noncore/apps/opie-sheet/sortdlg.cpp @@ -1,68 +1,68 @@ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ /* * Opie Sheet (formerly Sheet/Qt) * by Serdar Ozler <sozler@sitebest.com> */ #include <qlabel.h> #include <qradiobutton.h> #include <qmessagebox.h> #include "sortdlg.h" -SortDialog::SortDialog(QWidget *parent=0) +SortDialog::SortDialog(QWidget *parent) :QDialog(parent, 0, TRUE) { // Main widget tabs=new QTabWidget(this); widgetSort=new QWidget(tabs); widgetOptions=new QWidget(tabs); tabs->addTab(widgetSort, tr("&Sort")); tabs->addTab(widgetOptions, tr("&Options")); // Sort tab comboFieldA=createFieldCombo(tr("&Sort by"), 10); groupOrderA=createOrderButtons(10); comboFieldB=createFieldCombo(tr("&Then by"), 90); groupOrderB=createOrderButtons(90); comboFieldC=createFieldCombo(tr("Then &by"), 170); groupOrderC=createOrderButtons(170); // Options tab checkCase=new QCheckBox(tr("&Case Sensitive"), widgetOptions); checkCase->setGeometry(10, 10, 215, 20); checkCase->setChecked(TRUE); groupDirection=new QVButtonGroup(tr("&Direction"), widgetOptions); groupDirection->setGeometry(10, 40, 215, 70); QRadioButton *radio=new QRadioButton(tr("&Top to bottom (rows)"), groupDirection); radio=new QRadioButton(tr("&Left to right (columns)"), groupDirection); groupDirection->setButton(0); connect(groupDirection, SIGNAL(clicked(int)), this, SLOT(directionChanged(int))); // Main widget box=new QVBoxLayout(this); box->addWidget(tabs); setCaption(tr("Sort")); } SortDialog::~SortDialog() { } QComboBox *SortDialog::createFieldCombo(const QString &caption, int y) { QLabel *label=new QLabel(caption, widgetSort); label->setGeometry(10, y+5, 215, 20); QComboBox *combo=new QComboBox(FALSE, widgetSort); combo->setGeometry(10, y+35, 105, 20); label->setBuddy(combo); return combo; @@ -133,60 +133,61 @@ int SortDialog::exec(Sheet *s) if (compareResult>0) swap=TRUE; else if (compareResult==0) { compareResult=compareItems(s->item(field2, j-1), s->item(field2, j), groupOrderB->id(groupOrderB->selected()), checkCase->isChecked()); if (compareResult>0) swap=TRUE; else if (compareResult==0) { compareResult=compareItems(s->item(field3, j-1), s->item(field3, j), groupOrderC->id(groupOrderC->selected()), checkCase->isChecked()); if (compareResult>0) swap=TRUE; } } if (swap) for (int row=row1; row<=row2; ++row) s->swapCells(row, j-1, row, j); } } else { field1=Sheet::getHeaderColumn(field1S)-1; field2=Sheet::getHeaderColumn(field2S)-1; field3=Sheet::getHeaderColumn(field3S)-1; int i, j; for (i=row2; i>=row1; --i) for (j=row1+1; j<=i; ++j) { bool swap=FALSE; int compareResult=compareItems(s->item(j-1, field1), s->item(j, field1), groupOrderA->id(groupOrderA->selected()), checkCase->isChecked()); if (compareResult>0) swap=TRUE; else if (compareResult==0) { compareResult=compareItems(s->item(j-1, field2), s->item(j, field2), groupOrderB->id(groupOrderB->selected()), checkCase->isChecked()); if (compareResult>0) swap=TRUE; else if (compareResult==0) { compareResult=compareItems(s->item(j-1, field3), s->item(j, field3), groupOrderC->id(groupOrderC->selected()), checkCase->isChecked()); if (compareResult>0) swap=TRUE; } } if (swap) for (int col=col1; col<=col2; ++col) s->swapCells(j-1, col, j, col); } } return QDialog::Accepted; } return QDialog::Rejected; } -int SortDialog::compareItems(QTableItem *item1, QTableItem *item2, int descending=0, bool caseSensitive=TRUE) +int SortDialog::compareItems(QTableItem *item1, QTableItem *item2, + int descending, bool caseSensitive) { int result=0; if (item1) { if (item2) result=(caseSensitive ? item1->text().compare(item2->text()) : item1->text().upper().compare(item2->text().upper())); else result=-1; } else if (item2) result=1; return (descending ? -result : result); } |