22 #ifndef KHOLIDAYS_HOLIDAYREGIONSELECTOR_H
23 #define KHOLIDAYS_HOLIDAYREGIONSELECTOR_H
25 #include "kholidays_export.h"
27 #include <QtGui/QTreeWidget>
36 class KHOLIDAYS_EXPORT HolidayRegionSelector :
public QWidget
39 Q_PROPERTY( QAbstractItemView::SelectionMode listSelectionMode READ selectionMode WRITE setSelectionMode )
40 Q_PROPERTY(
bool enableRegionUseFlags READ regionUseFlagsEnabled WRITE setRegionUseFlagsEnabled )
41 Q_PROPERTY(
bool hideSearch READ searchHidden WRITE setSearchHidden )
42 Q_PROPERTY(
bool hideDescription READ descriptionHidden WRITE setDescriptionHidden )
43 Q_PROPERTY(
bool hideLanguage READ languageHidden WRITE setLanguageHidden )
44 Q_PROPERTY( QStringList languageFilter READ languageFilter WRITE setLanguageFilter )
50 enum SelectionStatus {
62 UseInformationOnly = 0x01,
65 Q_DECLARE_FLAGS( RegionUseFlags, RegionUseFlag )
82 explicit HolidayRegionSelector( QWidget *parent = 0 );
87 virtual ~HolidayRegionSelector();
94 QStringList holidayRegions() const;
108 void setSelectionMode( QAbstractItemView::SelectionMode selectionMode );
116 QAbstractItemView::SelectionMode selectionMode() const;
132 void setRegionUseFlagsEnabled(
bool enableRegionUseFlags );
140 bool regionUseFlagsEnabled() const;
149 void setSelectionStatus( const QString &holidayRegionCode,
150 HolidayRegionSelector::SelectionStatus status );
159 HolidayRegionSelector::SelectionStatus selectionStatus(
160 const QString &holidayRegionCode ) const;
168 QHash<QString, HolidayRegionSelector::SelectionStatus> selectionStatus() const;
179 QStringList selection( HolidayRegionSelector::SelectionStatus selectionStatus =
180 HolidayRegionSelector::RegionSelected ) const;
190 QStringList selection( HolidayRegionSelector::RegionUseFlags regionUseFlags ) const;
199 void clearSelection();
208 void setRegionUseFlags( const QString &holidayRegionCode,
209 HolidayRegionSelector::RegionUseFlags regionUseFlags );
218 HolidayRegionSelector::RegionUseFlags regionUseFlags( const QString &holidayRegionCode ) const;
226 QHash<QString, HolidayRegionSelector::RegionUseFlags> regionUseFlags() const;
239 void setLanguageFilter( const QStringList &languages );
247 QStringList languageFilter() const;
255 void setSearchHidden(
bool hideSearch );
263 bool searchHidden() const;
271 void setLanguageHidden(
bool hideLanguage );
279 bool languageHidden() const;
287 void setDescriptionHidden(
bool hideDescription );
295 bool descriptionHidden() const;
298 void itemChanged( QTreeWidgetItem *item,
int column );
299 void itemChanged(
int index );
302 void selectionChanged();
311 Q_DECLARE_OPERATORS_FOR_FLAGS( KHolidays::HolidayRegionSelector::RegionUseFlags )
313 #endif // KHOLIDAYS_HOLIDAYREGIONSELECTOR_H