You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
4.9 KiB
180 lines
4.9 KiB
/***************************************************************************
|
|
* Copyright (C) 2003-2004 by *
|
|
* Jason Kivlighn (jkivlighn@gmail.com) *
|
|
* *
|
|
* 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. *
|
|
***************************************************************************/
|
|
|
|
#ifndef ADVANCEDSEARCHDIALOG_H
|
|
#define ADVANCEDSEARCHDIALOG_H
|
|
|
|
#include <ntqwidget.h>
|
|
|
|
class TQVBoxLayout;
|
|
class TQHBoxLayout;
|
|
class TQGridLayout;
|
|
class TQSpacerItem;
|
|
class TQScrollView;
|
|
class TQPushButton;
|
|
class TQFrame;
|
|
class TQLineEdit;
|
|
class TQLabel;
|
|
class TQCheckBox;
|
|
class TQComboBox;
|
|
class TQSpinBox;
|
|
class TQTimeEdit;
|
|
class KPushButton;
|
|
class TDEListView;
|
|
class TQListViewItem;
|
|
class TQRadioButton;
|
|
class TQButtonGroup;
|
|
|
|
class KDateEdit;
|
|
class RecipeDB;
|
|
class RecipeActionsHandler;
|
|
class FractionInput;
|
|
class CriteriaComboBox;
|
|
|
|
|
|
class AdvancedSearchDialog : public TQWidget
|
|
{
|
|
TQ_OBJECT
|
|
|
|
public:
|
|
AdvancedSearchDialog( TQWidget *parent, RecipeDB * );
|
|
~AdvancedSearchDialog();
|
|
|
|
virtual void languageChange();
|
|
|
|
RecipeActionsHandler *actionHandler;
|
|
|
|
protected:
|
|
TQLabel* textLabel1_4;
|
|
TQScrollView* scrollView1;
|
|
TQFrame* parametersFrame;
|
|
TQLineEdit* titleEdit;
|
|
TQPushButton* titleButton;
|
|
TQFrame* titleFrame;
|
|
TQPushButton* ingredientButton;
|
|
TQFrame* ingredientFrame;
|
|
TQLineEdit* ingredientsAllEdit;
|
|
TQLineEdit* ingredientsAnyEdit;
|
|
TQLabel* textLabel1_2;
|
|
TQLabel* textLabel1;
|
|
TQLineEdit* ingredientsWithoutEdit;
|
|
TQLabel* textLabel1_3;
|
|
TQPushButton* categoriesButton;
|
|
TQFrame* categoryFrame;
|
|
TQLineEdit* categoriesAllEdit;
|
|
TQLabel* textLabel1_5;
|
|
TQLabel* textLabel1_3_3;
|
|
TQLineEdit* categoriesAnyEdit;
|
|
TQLabel* textLabel1_2_3;
|
|
TQLineEdit* categoriesNotEdit;
|
|
TQPushButton* authorsButton;
|
|
TQFrame* authorsFrame;
|
|
TQLabel* textLabel1_2_4;
|
|
TQLabel* textLabel1_6;
|
|
TQLabel* textLabel1_3_4;
|
|
TQLineEdit* authorsAnyEdit;
|
|
TQLineEdit* authorsAllEdit;
|
|
TQLineEdit* authorsWithoutEdit;
|
|
TQPushButton* servingsButton;
|
|
TQFrame* servingsFrame;
|
|
TQCheckBox* enableServingsCheckBox;
|
|
TQComboBox* servingsComboBox;
|
|
TQSpinBox* servingsSpinBox;
|
|
TQPushButton* prepTimeButton;
|
|
TQFrame* prepTimeFrame;
|
|
TQCheckBox* enablePrepTimeCheckBox;
|
|
TQComboBox* prepTimeComboBox;
|
|
TQTimeEdit* prepTimeEdit;
|
|
TQLineEdit* instructionsEdit;
|
|
TQPushButton* instructionsButton;
|
|
TQFrame* instructionsFrame;
|
|
KPushButton* clearButton;
|
|
KPushButton* findButton;
|
|
TDEListView* resultsListView;
|
|
TQCheckBox *requireAllTitle;
|
|
TQCheckBox *requireAllInstructions;
|
|
KDateEdit *createdStartDateEdit;
|
|
KDateEdit *createdEndDateEdit;
|
|
KDateEdit *modifiedStartDateEdit;
|
|
KDateEdit *modifiedEndDateEdit;
|
|
KDateEdit *accessedStartDateEdit;
|
|
KDateEdit *accessedEndDateEdit;
|
|
TQPushButton* metaDataButton;
|
|
TQFrame* metaDataFrame;
|
|
TQRadioButton* ratingAvgRadioButton;
|
|
FractionInput* avgStarsEdit;
|
|
TQLabel* avgStarsLabel;
|
|
TQRadioButton* criterionRadioButton;
|
|
CriteriaComboBox* criteriaComboBox;
|
|
FractionInput* starsWidget;
|
|
TQPushButton* addCriteriaButton;
|
|
TQPushButton* removeCriteriaButton;
|
|
TDEListView* criteriaListView;
|
|
TQPushButton* ratingsButton;
|
|
TQButtonGroup *ratingButtonGroup;
|
|
TQFrame *ratingAvgFrame;
|
|
TQFrame *criterionFrame;
|
|
TQVBoxLayout *criterionFrameLayout;
|
|
TQHBoxLayout *ratingAvgFrameLayout;
|
|
TQVBoxLayout *ratingButtonGroupLayout;
|
|
|
|
TQHBoxLayout* AdvancedSearchDialogLayout;
|
|
TQVBoxLayout* layout7;
|
|
TQHBoxLayout* scrollView1Layout;
|
|
TQVBoxLayout* parametersFrameLayout;
|
|
TQSpacerItem* spacer3_2_3_2_2;
|
|
TQSpacerItem* spacer3_2_3_2;
|
|
TQSpacerItem* spacer3_2_3;
|
|
TQSpacerItem* spacer3_2_2;
|
|
TQSpacerItem* titleFrameSpacer;
|
|
TQSpacerItem* instructionsFrameSpacer;
|
|
TQSpacerItem* metaDataFrameSpacer;
|
|
TQSpacerItem* spacer15;
|
|
TQVBoxLayout* titleFrameLayout;
|
|
TQGridLayout* ingredientFrameLayout;
|
|
TQGridLayout* categoryFrameLayout;
|
|
TQGridLayout* authorsFrameLayout;
|
|
TQVBoxLayout* servingsFrameLayout;
|
|
TQHBoxLayout* layout5;
|
|
TQVBoxLayout* prepTimeFrameLayout;
|
|
TQVBoxLayout* instructionsFrameLayout;
|
|
TQVBoxLayout* metaDataFrameLayout;
|
|
TQHBoxLayout* layout6;
|
|
TQHBoxLayout* layout9;
|
|
TQSpacerItem* spacer3;
|
|
TQVBoxLayout* ratingsFrameLayout;
|
|
TQHBoxLayout* layout11;
|
|
TQHBoxLayout* layout12;
|
|
TQSpacerItem* ratingsFrameSpacer;
|
|
|
|
RecipeDB *database;
|
|
|
|
signals:
|
|
void recipeSelected( int, int );
|
|
void recipesSelected( const TQValueList<int> &, int );
|
|
|
|
private slots:
|
|
void search();
|
|
void clear();
|
|
void buttonSwitched();
|
|
void activateRatingOption( int button_id );
|
|
void slotAddRatingCriteria();
|
|
void slotRemoveRatingCriteria();
|
|
|
|
//called by a signal from the database when a recipe is removed
|
|
void removeRecipe( int id );
|
|
|
|
private:
|
|
TQStringList split( const TQString &text, bool sql_wildcards = false ) const;
|
|
};
|
|
|
|
#endif //ADVANCEDSEARCHDIALOG_H
|
|
|