summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-sheet/sortdlg.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-sheet/sortdlg.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-sheet/sortdlg.cpp5
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,44 +1,44 @@
/***************************************************************************
* *
* 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);
@@ -157,36 +157,37 @@ int SortDialog::exec(Sheet *s)
{
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);
}