-rw-r--r-- | korganizer/searchdialog.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index d0865c3..efe8774 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp @@ -31,193 +31,195 @@ #include <qlineedit.h> #include <qpushbutton.h> #include <qhbuttongroup.h> #include <klocale.h> #include <kmessagebox.h> #include <libkdepim/kdateedit.h> #include "koglobals.h" #include "koprefs.h" #include "klineedit.h" #include "calendarview.h" #include "koviewmanager.h" #include "searchdialog.h" SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) : QVBox( 0 ) { mCalendar = calendar; QFrame *topFrame = new QFrame( this ) ;//plainPage(); QVBoxLayout *layout = new QVBoxLayout(topFrame,KDialog::marginHint(),KDialog::spacingHint()); // Search expression QHBoxLayout *subLayout = new QHBoxLayout(); layout->addLayout(subLayout); /* searchLabel = new QLabel(topFrame); searchLabel->setText(i18n("Search for:")); subLayout->addWidget(searchLabel); */ QPushButton *OkButton = new QPushButton( i18n("Search for:"), topFrame ); //OkButton->setDefault( true ); connect(OkButton,SIGNAL(clicked()),SLOT(doSearch())); subLayout->addWidget(OkButton); searchEdit = new KLineEdit(topFrame); subLayout->addWidget(searchEdit); mAddItems = new QRadioButton( "+ ", topFrame ); mSubItems = new QRadioButton( "- ", topFrame ); mRefineItems = new QRadioButton( "< ", topFrame ); subLayout->addWidget( mAddItems ); subLayout->addWidget( mSubItems ); subLayout->addWidget( mRefineItems ); QFont fo ( mAddItems->font() ); fo.setBold( true ); fo.setPointSize( fo.pointSize() + 2 ); mAddItems->setFont( fo ); mSubItems->setFont( fo ); mRefineItems->setFont( fo ); connect( mAddItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_add( bool ))); connect( mSubItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_sub( bool ))); connect( mRefineItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_refine( bool ))); QPushButton *togButton = new QPushButton( "", topFrame ); subLayout->addWidget(togButton); connect(togButton,SIGNAL(clicked()),SLOT(toggleCheckboxes())); togButton->setPixmap(SmallIcon("1updownarrow")); togButton->setMinimumWidth( togButton->sizeHint().height() ); searchEdit->setText("*"); // Find all events by default searchEdit->setFocus(); connect(searchEdit, SIGNAL(textChanged ( const QString & )),this,SLOT(searchTextChanged( const QString & ))); connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch())); // Subjects to search // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"), // topFrame); incidenceGroup = new QHBox( topFrame ); layout->addWidget(incidenceGroup); mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); //mSearchEvent->setChecked(true); mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); subjectGroup = new QHBox( topFrame ); layout->addWidget(subjectGroup); mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup); mSummaryCheck->setChecked(true); mDescriptionCheck = new QCheckBox(i18n("Details"),subjectGroup); mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup); attendeeGroup = new QHBox( topFrame ); layout->addWidget(attendeeGroup ); new QLabel( i18n("Attendee:"),attendeeGroup ); mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup ); mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup ); // Date range // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"), // topFrame); // layout->addWidget(rangeGroup); QWidget *rangeWidget = new QWidget(topFrame); - QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,KDialog::spacingHint()-3); + int space = KDialog::spacingHint(); + if ( QApplication::desktop()->width() <= 240 ) space = 1; + QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,space); rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget)); mStartDate = new KDateEdit(rangeWidget); rangeLayout->addWidget(mStartDate); rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget)); mEndDate = new KDateEdit(rangeWidget); mEndDate->setDate(QDate::currentDate().addDays(365)); rangeLayout->addWidget(mEndDate); QToolButton *wt = QWhatsThis::whatsThisButton ( rangeWidget ); rangeLayout->addWidget( (QWidget*)wt ); layout->addWidget(rangeWidget); // Results list view listView = new KOListView(mCalendar,topFrame); layout->addWidget(listView); listView->showCompletedTodos(); //layout->setStretchFactor( listView, 333 ); //listView->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Expanding) ); //listView->setMaximumHeight( 50 ); listView->readSettings(KOGlobals::config(),"SearchListView Layout"); connect(searchEdit,SIGNAL(scrollDOWN()),SLOT(setFocusToList())); setCaption( i18n("KO/Pi Find: ")); #ifdef DESKTOP_VERSION OkButton = new QPushButton( i18n("Close"), this ); connect(OkButton,SIGNAL(clicked()),SLOT(hide())); #endif } SearchDialog::~SearchDialog() { } void SearchDialog::slot_add( bool b ) { if ( b ) { if ( mSubItems->isOn() ) mSubItems->toggle(); if ( mRefineItems->isOn() ) mRefineItems->toggle(); setCaption( i18n("Matching items will be added to list")); } else setCaption( i18n("List will be cleared before search")); } void SearchDialog::slot_sub( bool b) { if ( b ) { if ( mRefineItems->isOn() ) mRefineItems->toggle(); if ( mAddItems->isOn() ) mAddItems->toggle(); setCaption( i18n("Matching items will be removed from list")); } else setCaption( i18n("List will be cleared before search")); } void SearchDialog::slot_refine( bool b) { if ( b ) { if ( mSubItems->isOn() ) mSubItems->toggle(); if ( mAddItems->isOn() ) mAddItems->toggle(); setCaption( i18n("Search on displayed list only")); } else setCaption( i18n("List will be cleared before search")); } void SearchDialog::toggleCheckboxes() { if ( incidenceGroup->isVisible() ) { incidenceGroup->hide() ; subjectGroup->hide() ; attendeeGroup->hide() ; } else { incidenceGroup->show() ; subjectGroup->show() ; attendeeGroup->show() ; } } void SearchDialog::raiseAndSelect() { static int currentState = 0; if ( !mSearchJournal->isChecked() && !mSearchTodo->isChecked() && !mSearchEvent->isChecked() ) currentState = 0; int newState = 0; if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { newState = VIEW_J_VIEW; } else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { newState = VIEW_T_VIEW; } else { newState = VIEW_A_VIEW; } if ( newState != currentState ) { if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { if ( ! mSearchJournal->isChecked() ) { mSearchJournal->setChecked( true ); mSearchTodo->setChecked( false ); mSearchEvent->setChecked( false ); mSummaryCheck->setChecked( true ); mDescriptionCheck->setChecked( true ); |