[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kholidays] /: KF5: Remove holiday region selector widget
From:       John Layt <jlayt () kde ! org>
Date:       2015-09-02 18:07:29
Message-ID: E1ZXCRV-0003LI-IF () scm ! kde ! org
[Download RAW message or body]

Git commit 24a862b637e89c4e86270886c0678466b9144932 by John Layt.
Committed on 02/09/2015 at 17:53.
Pushed by jlayt into branch 'master'.

KF5: Remove holiday region selector widget

Remove the widget to allow KHolidays to be a Tier 1 Framework. The
widget shoudl be moved to a kdepim-widgets module so it can be used in
both KOrganizer and Plasma Calendar.

M  +2    -10   CMakeLists.txt
M  +0    -42   src/CMakeLists.txt
D  +0    -560  src/holidayregionselector.cpp
D  +0    -327  src/holidayregionselector.h
D  +0    -46   src/holidayregionselector.ui
D  +0    -9    src/kholidays.widgets

http://commits.kde.org/kholidays/24a862b637e89c4e86270886c0678466b9144932

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 38a9d77..7307c3c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,16 +27,8 @@ ecm_setup_version(${KHOLIDAYS_LIB_VERSION} VARIABLE_PREFIX \
KHOLIDAYS  )
 
 ########### Find packages ###########
-find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets Test)
-find_package(KF5ItemViews ${KF5_VERSION} CONFIG REQUIRED)
-find_package(KF5Completion ${KF5_VERSION} CONFIG REQUIRED)
-find_package(KF5DesignerPlugin ${KF5_VERSION} CONFIG REQUIRED)
-
-find_package(Qt5Designer NO_MODULE)
-set_package_properties(Qt5Designer PROPERTIES
-   PURPOSE "Required to build the Qt Designer plugins"
-   TYPE OPTIONAL
-)
+find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test)
+
 remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII)
 
 ########### Targets ###########
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e147fb8..8747f37 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -10,7 +10,6 @@ set(kholidays_SRCS
   astroseasons.cpp
   holiday.cpp
   holidayregion.cpp
-  holidayregionselector.cpp
   lunarphase.cpp
   sunriseset.cpp
   zodiac.cpp
@@ -21,10 +20,6 @@ set(kholidays_SRCS
   parsers/plan2/holidayparserplan.cpp
 )
 
-set(kholidays_UI
-  holidayregionselector.ui
-)
-
 add_library(KF5Holidays ${kholidays_SRCS})
 generate_export_header(KF5Holidays BASE_NAME kholidays)
 
@@ -36,10 +31,7 @@ target_include_directories(KF5Holidays PUBLIC \
"$<BUILD_INTERFACE:${KHolidays_SOU  
 target_link_libraries(KF5Holidays
 PUBLIC
-    Qt5::Widgets
     Qt5::Test
-    KF5::ItemViews
-    KF5::Completion
 )
 
 set_target_properties(KF5Holidays PROPERTIES
@@ -53,7 +45,6 @@ ecm_generate_headers(KHolidays_CamelCase_HEADERS
   AstroSeasons
   Holiday
   HolidayRegion
-  HolidayRegionSelector
   LunarPhase
   Zodiac
   PREFIX KHolidays
@@ -62,39 +53,6 @@ ecm_generate_headers(KHolidays_CamelCase_HEADERS
 
 install(TARGETS KF5Holidays EXPORT KF5HolidaysTargets \
${KF5_INSTALL_TARGETS_DEFAULT_ARGS})  
-########### next target ###############
-
-
-if (Qt5Designer_FOUND)
-    kf5designerplugin_add_plugin(holidayswidgets kholidays.widgets)
-    target_link_libraries(holidayswidgets
-        Qt5::Widgets
-        Qt5::Designer
-        KF5::ItemViews
-        KF5::Completion
-        KF5::Holidays
-    )
-    set_target_properties(holidayswidgets PROPERTIES
-        OUTPUT_NAME holidays5widgets
-    )
-
-    if(NOT WIN32)
-        # Since there are no libraries provided by this module,
-        # there is no point including the build tree in RPath,
-        # and then having to edit it at install time.
-        set_target_properties(holidayswidgets PROPERTIES
-            SKIP_BUILD_RPATH TRUE
-            BUILD_WITH_INSTALL_RPATH TRUE
-        )
-    endif()
-
-    install(TARGETS
-        holidayswidgets
-        DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/designer
-    )
-endif()
-
-
 ########### install files ###############
 install(FILES
     ${CMAKE_CURRENT_BINARY_DIR}/kholidays_export.h
diff --git a/src/holidayregionselector.cpp b/src/holidayregionselector.cpp
deleted file mode 100644
index 011d4b8..0000000
--- a/src/holidayregionselector.cpp
+++ /dev/null
@@ -1,560 +0,0 @@
-/*
-  This file is part of the kholidays library.
-
-  Copyright 2010 John Layt <john@layt.net>
-
-  This library is free software; you can redistribute it and/or
-  modify it under the terms of the GNU Library General Public
-  License as published by the Free Software Foundation; either
-  version 2 of the License, or (at your option) any later version.
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU Library General Public License for more details.
-
-  You should have received a copy of the GNU Library General Public License
-  along with this library; see the file COPYING.LIB.  If not, write to the
-  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-  Boston, MA 02110-1301, USA.
-*/
-
-#include "holidayregionselector.h"
-#include "ui_holidayregionselector.h"
-
-#include "holidayregion.h"
-#include "holiday_p.h"
-
-#include <QtCore/QCoreApplication>
-
-#include <KComboBox>
-
-using namespace KHolidays;
-
-class Q_DECL_HIDDEN HolidayRegionSelector::Private
-{
-  public:
-    Private( HolidayRegionSelector *q_ptr )
-    {
-      q = q_ptr;
-    }
-
-    ~Private()
-    {
-    }
-
-    // Reorder this to change column order
-    enum Column {
-      RegionColumn = 0,
-      LanguageColumn,
-      DescriptionColumn,
-      SelectColumn,
-      ComboColumn
-    };
-
-    void clearSelection();
-    QTreeWidgetItem *findItem( const QString &holidayRegionCode );
-    void initItem( QTreeWidgetItem *listItem, HolidayRegion *region );
-    QString itemRegion( QTreeWidgetItem *item );
-    QString itemLanguage( QTreeWidgetItem *item );
-    SelectionStatus itemSelectionStatus( QTreeWidgetItem *item );
-    void setItemStatus( QTreeWidgetItem *item, SelectionStatus status );
-    KComboBox *itemCombo( QTreeWidgetItem *item );
-    void setItemRegionUseFlags( QTreeWidgetItem *item, RegionUseFlags regionUseFlags \
                );
-    HolidayRegionSelector::RegionUseFlags itemRegionUseFlags( QTreeWidgetItem *item \
                );
-
-    QAbstractItemView::SelectionMode m_selectionMode;
-    bool m_enableRegionUseFlags;
-    QStringList m_languageFilter;
-    QStringList m_holidayRegionCodes;
-    Ui::holidayRegionSelector m_ui;
-    HolidayRegionSelector *q;
-};
-
-void HolidayRegionSelector::Private::clearSelection()
-{
-  m_ui.regionTreeWidget->blockSignals( true );
-  QTreeWidgetItemIterator it( m_ui.regionTreeWidget, \
                QTreeWidgetItemIterator::Checked );
-  while ( *it ) {
-    ( *it )->setCheckState( Private::SelectColumn, Qt::Unchecked );
-    ( *it )->setData( Private::SelectColumn, Qt::UserRole, RegionAvailable );
-    itemCombo( ( *it ) )->setCurrentIndex( 0 );
-    ( *it )->setData( Private::ComboColumn, Qt::UserRole, NotUsed );
-    ++it;
-  }
-  m_ui.regionTreeWidget->blockSignals( false );
-}
-
-QTreeWidgetItem *HolidayRegionSelector::Private::findItem( const QString \
                &holidayRegionCode )
-{
-  QTreeWidgetItemIterator it( m_ui.regionTreeWidget );
-  while ( *it ) {
-    if ( ( *it )->data( HolidayRegionSelector::Private::RegionColumn, Qt::UserRole ) \
                ==
-         holidayRegionCode ) {
-      return ( *it );
-    }
-    ++it;
-  }
-  return 0;
-}
-
-void HolidayRegionSelector::Private::initItem( QTreeWidgetItem *listItem, \
                HolidayRegion *region )
-{
-  m_ui.regionTreeWidget->blockSignals( true );
-  QString languageName = QLocale::languageToString( codeToLanguage( \
                region->languageCode() ) );
-  listItem->setCheckState( Private::SelectColumn, Qt::Unchecked );
-  QString text = QCoreApplication::translate( "HolidayRegionSelector", "<p>Select to \
                use Holiday Region</p>" );
-  listItem->setToolTip( Private::SelectColumn, text );
-  listItem->setToolTip( Private::ComboColumn, text );
-  text = QCoreApplication::translate( "HolidayRegionSelector", "<p>Select to use \
                Holiday Region</p>" );
-  listItem->setToolTip( Private::SelectColumn, text );
-  listItem->setToolTip( Private::ComboColumn, text );
-  listItem->setText( Private::RegionColumn, region->name() );
-  QString toolTip = QCoreApplication::translate( "HolidayRegionSelector",
-                                                 "<p><b>Region:</b> %1<br/>"
-                                                 "<b>Language:</b> %2<br/>"
-                                                 "<b>Description:</b> %3</p>")
-                                                .arg( region->name() )
-                                                .arg( languageName )
-                                                .arg( region->description() );
-  listItem->setToolTip( Private::RegionColumn, toolTip );
-  listItem->setData( Private::RegionColumn, Qt::UserRole, region->regionCode() );
-  listItem->setText( Private::LanguageColumn, languageName );
-  listItem->setData( Private::LanguageColumn, Qt::UserRole, region->languageCode() \
                );
-  listItem->setText( Private::DescriptionColumn, region->description() );
-  listItem->setToolTip( Private::DescriptionColumn, region->description() );
-  KComboBox *combo = new KComboBox();
-  combo->setAutoFillBackground( true );
-  QString comboText = QCoreApplication::translate( "HolidayRegionSelector",
-                                                   "<p>You can choose to display the \
                Holiday Region for information only, "
-                                                   "or to use the Holiday Region \
                when displaying or calculating days off "
-                                                   "such as Public Holidays.  If you \
                choose to use the Holiday Region for "
-                                                   "Days Off, then only those \
                Holiday Events marked in the Holiday Region "
-                                                   "as Days Off will be used for \
                non-work days, Holiday Events that are "
-                                                   "not marked in the Holiday Region \
                as Days Off will continue to be "
-                                                   "work days.</p>" );
-  combo->setToolTip( comboText );
-  comboText = QCoreApplication::translate( "HolidayRegionSelectorasons", "Not Used", \
                "Combobox label, Holiday Region not used" );
-  combo->addItem( comboText, QVariant( NotUsed ) );
-  comboText = QCoreApplication::translate( "HolidayRegionSelectorasons", \
                "Information", "Combobox label, use Holiday Region for information \
                only" );
-  combo->addItem( comboText, QVariant( UseInformationOnly ) );
-  comboText = QCoreApplication::translate( "HolidayRegionSelectorasons", "Days Off", \
                "Combobox label, use Holiday Region for days off" );
-  combo->addItem( comboText, QVariant( UseDaysOff ) );
-  combo->setCurrentIndex( 0 );
-  listItem->setData( Private::ComboColumn, Qt::UserRole, NotUsed );
-  m_ui.regionTreeWidget->setItemWidget( listItem, ComboColumn, combo );
-  connect( combo, SIGNAL(currentIndexChanged(int)),
-           q, SLOT(itemChanged(int)) );
-  m_ui.regionTreeWidget->blockSignals( false );
-}
-
-QString HolidayRegionSelector::Private::itemRegion( QTreeWidgetItem *item )
-{
-  return item->data( Private::RegionColumn, Qt::UserRole ).toString();
-}
-
-QString HolidayRegionSelector::Private::itemLanguage( QTreeWidgetItem *item )
-{
-  return item->data( Private::LanguageColumn, Qt::UserRole ).toString();
-}
-
-HolidayRegionSelector::SelectionStatus
-HolidayRegionSelector::Private::itemSelectionStatus( QTreeWidgetItem *item )
-{
-  return
-    ( HolidayRegionSelector::SelectionStatus )
-    item->data( Private::SelectColumn, Qt::UserRole ).toInt();
-}
-
-void HolidayRegionSelector::Private::setItemRegionUseFlags( QTreeWidgetItem *item,
-                                                            RegionUseFlags \
                regionUseFlags )
-{
-  // Just do simple flags for now, cheat on the index
-  item->setData( ComboColumn, Qt::UserRole, QVariant( regionUseFlags ) );
-  if ( regionUseFlags & UseDaysOff ) {
-    setItemStatus( item, RegionSelected );
-    itemCombo( item )->setCurrentIndex( 2 );
-  } else if ( regionUseFlags & UseInformationOnly ) {
-    setItemStatus( item, RegionSelected );
-    itemCombo( item )->setCurrentIndex( 1 );
-  } else { // NotUsed
-    setItemStatus( item, RegionAvailable );
-    itemCombo( item )->setCurrentIndex( 0 );
-  }
-}
-
-HolidayRegionSelector::RegionUseFlags
-HolidayRegionSelector::Private::itemRegionUseFlags( QTreeWidgetItem *item )
-{
-  return (RegionUseFlags) item->data( ComboColumn, Qt::UserRole ).toInt();
-}
-
-KComboBox *HolidayRegionSelector::Private::itemCombo( QTreeWidgetItem *item )
-{
-  return static_cast<KComboBox*>( m_ui.regionTreeWidget->itemWidget( item, \
                ComboColumn ) );
-}
-
-void HolidayRegionSelector::Private::setItemStatus( QTreeWidgetItem *item, \
                SelectionStatus status )
-{
-  if ( m_selectionMode == QAbstractItemView::SingleSelection &&
-       status == RegionSelected ) {
-    clearSelection();
-  }
-
-  Qt::CheckState selectStatus = Qt::Unchecked;
-  bool hidden = false;
-  bool disabled = false;
-
-  switch ( status ) {
-  case RegionHidden:
-    hidden = true;
-    disabled = true;
-    break;
-  case RegionDisabled:
-    disabled = true;
-    break;
-  case RegionAvailable:
-    break;
-  case RegionSelected:
-  {
-    if ( m_selectionMode != QAbstractItemView::NoSelection ) {
-      selectStatus = Qt::Checked;
-    }
-    break;
-  }
-  default:
-    break;
-  }
-
-  m_ui.regionTreeWidget->blockSignals( true );
-  item->setData( Private::SelectColumn, Qt::UserRole, status );
-  item->setCheckState( Private::SelectColumn, selectStatus );
-  item->setHidden( hidden );
-  item->setDisabled( disabled );
-  m_ui.regionTreeWidget->blockSignals( false );
-}
-
-HolidayRegionSelector::HolidayRegionSelector( QWidget *parent ) :
-  QWidget( parent ), d( new Private( this ) )
-{
-  d->m_ui.setupUi( this );
-
-  // Setup the columns
-  d->m_ui.regionTreeWidget->setColumnCount( 5 );
-  QTreeWidgetItem *headerItem = d->m_ui.regionTreeWidget->headerItem();
-  QString header = QCoreApplication::translate( "HolidayRegionSelectorasons", \
                "Select", "Header for Select column" );
-  QString text = QCoreApplication::translate( "HolidayRegionSelector", "<p>This \
                column selects to use the Holiday Region</p>" );
-  headerItem->setText( Private::SelectColumn, header );
-  headerItem->setToolTip( Private::SelectColumn, text );
-  headerItem->setWhatsThis( Private::SelectColumn, text );
-  headerItem->setText( Private::ComboColumn, header );
-  headerItem->setToolTip( Private::ComboColumn, text );
-  headerItem->setWhatsThis( Private::ComboColumn, text );
-  header = QCoreApplication::translate( "HolidayRegionSelectorasons", "Region", \
                "Header for Holiday Region column" );
-  text = QCoreApplication::translate( "HolidayRegionSelector", "<p>This column \
                displays the name of the Holiday Region</p>" );
-  headerItem->setText( Private::RegionColumn, header );
-  headerItem->setToolTip( Private::RegionColumn, text );
-  headerItem->setWhatsThis( Private::RegionColumn, text );
-  header = QCoreApplication::translate( "HolidayRegionSelectorasons", "Language", \
                "Header for Language column" );
-  text = QCoreApplication::translate( "HolidayRegionSelector", "<p>This column \
                displays the language of the Holiday Region</p>" );
-  headerItem->setText( Private::LanguageColumn, header );
-  headerItem->setToolTip( Private::LanguageColumn, text );
-  headerItem->setWhatsThis( Private::LanguageColumn, text );
-  header = QCoreApplication::translate( "HolidayRegionSelectorasons", "Description", \
                "Header for Description column" );
-  text = QCoreApplication::translate( "HolidayRegionSelector", "<p>This column \
                displays the description of the Holiday Region</p>" );
-  headerItem->setText( Private::DescriptionColumn, header );
-  headerItem->setToolTip( Private::DescriptionColumn, text );
-  headerItem->setWhatsThis( Private::DescriptionColumn, text );
-
-  d->m_ui.regionTreeWidget->setSelectionMode( QAbstractItemView::NoSelection );
-  d->m_ui.regionTreeWidget->setItemsExpandable( true ); //per bug 271628
-  d->m_ui.regionTreeWidget->setUniformRowHeights( true );
-  d->m_ui.regionTreeWidget->setAllColumnsShowFocus( true );
-  connect( d->m_ui.regionTreeWidget, SIGNAL(itemChanged(QTreeWidgetItem*,int)),
-           this, SLOT(itemChanged(QTreeWidgetItem*,int)) );
-
-  QMap<QString, QStringList> regionCodeMap;
-  QMap<QString, HolidayRegion*> regionMap;
-  foreach ( const QString &regionCode, HolidayRegion::regionCodes() ) {
-    regionMap[regionCode] = new HolidayRegion( regionCode );
-    QString country = regionMap[regionCode]->countryCode().split( QLatin1Char('-') \
                ).at( 0 );
-    regionCodeMap[country].append( regionCode );
-  }
-
-  QMapIterator<QString, QStringList> it( regionCodeMap );
-  while ( it.hasNext() ) {
-    it.next();
-    // if only 1 region for country and that region is the country, then only show \
                the country line
-    // Otherwise show a non-selectable country header and list all regions below it
-    QTreeWidgetItem *rootItem = new QTreeWidgetItem( d->m_ui.regionTreeWidget );
-    QString country = it.key();
-    if ( it.value().count() == 1 && regionMap[it.value().at( 0 )]->countryCode() == \
                country ) {
-      d->initItem( rootItem, regionMap[ it.value().at( 0 ) ] );
-    } else {
-      //TODO Not translated!
-      rootItem->setText( Private::RegionColumn, QLocale::countryToString( \
                codeToCountry( country ) ) );
-      d->m_ui.regionTreeWidget->setFirstItemColumnSpanned ( rootItem, true );
-      foreach ( const QString &regionCode, it.value() ) {
-        QTreeWidgetItem *childItem = new QTreeWidgetItem( rootItem );
-        d->initItem( childItem, regionMap[ regionCode ] );
-      }
-    }
-  }
-
-  QMapIterator<QString, HolidayRegion*> i( regionMap );
-  while ( i.hasNext() ) {
-    i.next();
-    delete i.value();
-  }
-
-  d->m_ui.regionTreeWidget->expandAll();
-  d->m_ui.regionTreeWidget->sortItems( Private::RegionColumn, Qt::AscendingOrder );
-  d->m_ui.regionTreeWidget->resizeColumnToContents( Private::SelectColumn );
-  d->m_ui.regionTreeWidget->resizeColumnToContents( Private::ComboColumn );
-  d->m_ui.regionTreeWidget->resizeColumnToContents( Private::RegionColumn );
-  d->m_ui.regionTreeWidget->resizeColumnToContents( Private::LanguageColumn );
-
-  // Setup search widget
-  d->m_ui.searchLineWidget->searchLine()->addTreeWidget( d->m_ui.regionTreeWidget );
-
-  // Default to MultiSelection mode with Region Use Flags
-  setSelectionMode( QAbstractItemView::MultiSelection );
-  setRegionUseFlagsEnabled( true );
-}
-
-HolidayRegionSelector::~HolidayRegionSelector()
-{
-  delete d;
-}
-
-QStringList HolidayRegionSelector::holidayRegions() const
-{
-  return d->m_holidayRegionCodes;
-}
-
-void HolidayRegionSelector::setSelectionMode( QAbstractItemView::SelectionMode \
                selectionMode )
-{
-  d->m_selectionMode = selectionMode;
-
-  if ( selectionMode == QAbstractItemView::NoSelection ) {
-    setRegionUseFlagsEnabled( false );
-  }
-}
-
-QAbstractItemView::SelectionMode HolidayRegionSelector::selectionMode() const
-{
-  return d->m_selectionMode;
-}
-
-void HolidayRegionSelector::setRegionUseFlagsEnabled( bool enableRegionUseFlags )
-{
-  d->m_enableRegionUseFlags = enableRegionUseFlags;
-  d->m_ui.regionTreeWidget->setColumnHidden( Private::SelectColumn, \
                enableRegionUseFlags );
-  d->m_ui.regionTreeWidget->setColumnHidden( Private::ComboColumn, \
                !enableRegionUseFlags );
-}
-
-bool HolidayRegionSelector::regionUseFlagsEnabled() const
-{
-  return d->m_enableRegionUseFlags;
-}
-
-void HolidayRegionSelector::setSelectionStatus( const QString &holidayRegionCode,
-                                                \
                HolidayRegionSelector::SelectionStatus status )
-{
-  QTreeWidgetItem *item = d->findItem( holidayRegionCode );
-  if ( item ) {
-    d->setItemStatus( item, status );
-  }
-}
-
-HolidayRegionSelector::SelectionStatus
-HolidayRegionSelector::selectionStatus( const QString &holidayRegionCode ) const
-{
-  QTreeWidgetItem *item = d->findItem( holidayRegionCode );
-  if ( item ) {
-    return d->itemSelectionStatus( item );
-  }
-  return HolidayRegionSelector::RegionHidden;
-}
-
-QHash<QString, HolidayRegionSelector::SelectionStatus>
-HolidayRegionSelector::selectionStatus() const
-{
-  QHash<QString, HolidayRegionSelector::SelectionStatus> selection;
-  QTreeWidgetItemIterator it( d->m_ui.regionTreeWidget );
-  while ( *it ) {
-    selection.insert( d->itemRegion( ( *it ) ), d->itemSelectionStatus( ( *it ) ) );
-    ++it;
-  }
-  return selection;
-}
-
-QStringList
-HolidayRegionSelector::selection( HolidayRegionSelector::SelectionStatus \
                selectionStatus ) const
-{
-  if ( selectionMode() == QAbstractItemView::NoSelection ) {
-    return QStringList();
-  }
-
-  QStringList selection;
-  QTreeWidgetItemIterator it( d->m_ui.regionTreeWidget );
-  while ( *it ) {
-    if ( d->itemSelectionStatus( ( *it ) ) == selectionStatus ) {
-      selection.append( d->itemRegion( ( *it ) ) );
-    }
-    ++it;
-  }
-  return selection;
-}
-
-QStringList
-HolidayRegionSelector::selection( HolidayRegionSelector::RegionUseFlags \
                regionUseFlags ) const
-{
-  if ( selectionMode() == QAbstractItemView::NoSelection ) {
-    return QStringList();
-  }
-
-  QStringList selection;
-  QTreeWidgetItemIterator it( d->m_ui.regionTreeWidget );
-  while ( *it ) {
-    if ( d->itemRegionUseFlags( ( *it ) ) & regionUseFlags ) {
-      selection.append( d->itemRegion( ( *it ) ) );
-    }
-    ++it;
-  }
-  return selection;
-}
-
-void
-HolidayRegionSelector::setRegionUseFlags( const QString &holidayRegionCode,
-                                          HolidayRegionSelector::RegionUseFlags \
                regionUseFlags )
-{
-  QTreeWidgetItem *item = d->findItem( holidayRegionCode );
-  if ( item ) {
-    d->setItemRegionUseFlags( item, regionUseFlags );
-  }
-}
-
-HolidayRegionSelector::RegionUseFlags
-HolidayRegionSelector::regionUseFlags( const QString &holidayRegionCode ) const
-{
-  QTreeWidgetItem *item = d->findItem( holidayRegionCode );
-  if ( item ) {
-    return d->itemRegionUseFlags( item );
-  }
-  return HolidayRegionSelector::NotUsed;
-}
-
-QHash<QString, HolidayRegionSelector::RegionUseFlags> \
                HolidayRegionSelector::regionUseFlags() const
-{
-  QHash<QString, HolidayRegionSelector::RegionUseFlags> selection;
-  QTreeWidgetItemIterator it( d->m_ui.regionTreeWidget );
-  while ( *it ) {
-    selection.insert( d->itemRegion( ( *it ) ), d->itemRegionUseFlags( ( *it ) ) );
-    ++it;
-  }
-  return selection;
-}
-
-void HolidayRegionSelector::itemChanged( QTreeWidgetItem *item, int column )
-{
-  if ( column == Private::SelectColumn ) {
-    if ( item->checkState( Private::SelectColumn ) == Qt::Unchecked ) {
-      d->setItemStatus( item, RegionAvailable );
-    } else {
-      d->setItemStatus( item, RegionSelected );
-    }
-  }
-  emit selectionChanged();
-}
-
-// The slot for the combo box when changed
-void HolidayRegionSelector::itemChanged( int index )
-{
-  KComboBox *combo = static_cast<KComboBox*>( sender() );
-  QTreeWidgetItemIterator it( d->m_ui.regionTreeWidget );
-  bool found = false;
-  while ( *it && !found ) {
-    if ( d->itemCombo( ( *it ) ) == combo ) {
-      ( *it )->setData(
-        Private::ComboColumn, Qt::UserRole, d->itemCombo( ( *it ) )->itemData( index \
                ) );
-      if ( d->itemRegionUseFlags( ( *it ) ) == NotUsed )  {
-        d->setItemStatus( ( *it ), RegionAvailable );
-      } else {
-        d->setItemStatus( ( *it ), RegionSelected );
-      }
-      found = true;
-    }
-    ++it;
-  }
-}
-
-void HolidayRegionSelector::clearSelection()
-{
-  d->clearSelection();
-}
-
-void HolidayRegionSelector::setLanguageFilter( const QStringList &languages )
-{
-  // First reset to visible those languages previously hidden
-  QTreeWidgetItemIterator it( d->m_ui.regionTreeWidget );
-  while ( *it ) {
-    if ( !d->m_languageFilter.contains(
-           ( *it )->data( Private::LanguageColumn, Qt::UserRole ).toString() ) ) {
-      d->setItemStatus( ( *it ), RegionAvailable );
-    }
-    ++it;
-  }
-  // Now hide those languages not in the new list
-  d->m_languageFilter = languages;
-  QTreeWidgetItemIterator it2( d->m_ui.regionTreeWidget );
-  while ( *it2 ) {
-    QString language = ( *it2 )->data( Private::LanguageColumn, Qt::UserRole \
                ).toString();
-    if ( d->m_languageFilter.contains( language ) ) {
-      // Make sure the parent is always visible, otherwise the child is not visible
-      if ( ( *it2 )->parent() &&
-           ( *it2 )->parent() != d->m_ui.regionTreeWidget->invisibleRootItem() ) {
-        d->setItemStatus( ( *it2 )->parent(), RegionAvailable );
-      }
-    } else {
-      d->setItemStatus( ( *it2 ), RegionHidden );
-    }
-    ++it2;
-  }
-}
-
-QStringList HolidayRegionSelector::languageFilter() const
-{
-  return d->m_languageFilter;
-}
-
-void HolidayRegionSelector::setSearchHidden( bool hideSearch )
-{
-  d->m_ui.searchLineWidget->setHidden( hideSearch );
-}
-
-bool HolidayRegionSelector::searchHidden() const
-{
-  return d->m_ui.searchLineWidget->isHidden();
-}
-
-void HolidayRegionSelector::setLanguageHidden( bool hideLanguage )
-{
-  d->m_ui.regionTreeWidget->setColumnHidden( Private::LanguageColumn, hideLanguage \
                );
-}
-
-bool HolidayRegionSelector::languageHidden() const
-{
-  return d->m_ui.regionTreeWidget->isColumnHidden( Private::LanguageColumn );
-}
-
-void HolidayRegionSelector::setDescriptionHidden( bool hideDescription )
-{
-  d->m_ui.regionTreeWidget->setColumnHidden( Private::DescriptionColumn, \
                hideDescription );
-}
-
-bool HolidayRegionSelector::descriptionHidden() const
-{
-  return d->m_ui.regionTreeWidget->isColumnHidden( Private::DescriptionColumn );
-}
-
diff --git a/src/holidayregionselector.h b/src/holidayregionselector.h
deleted file mode 100644
index 58d9e7e..0000000
--- a/src/holidayregionselector.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
-  This file is part of the kholidays library.
-
-  Copyright 2010 John Layt <john@layt.net>
-
-  This library is free software; you can redistribute it and/or
-  modify it under the terms of the GNU Library General Public
-  License as published by the Free Software Foundation; either
-  version 2 of the License, or (at your option) any later version.
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU Library General Public License for more details.
-
-  You should have received a copy of the GNU Library General Public License
-  along with this library; see the file COPYING.LIB.  If not, write to the
-  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-  Boston, MA 02110-1301, USA.
-*/
-
-#ifndef KHOLIDAYS_HOLIDAYREGIONSELECTOR_H
-#define KHOLIDAYS_HOLIDAYREGIONSELECTOR_H
-
-#include "kholidays_export.h"
-
-#include <QTreeWidget>
-
-class QString;
-class QStringList;
-
-namespace KHolidays {
-
-class HolidayRegion;
-
-class KHOLIDAYS_EXPORT HolidayRegionSelector : public QWidget
-{
-  Q_OBJECT
-  Q_PROPERTY( QAbstractItemView::SelectionMode listSelectionMode
-              READ selectionMode WRITE setSelectionMode )
-
-  Q_PROPERTY( bool enableRegionUseFlags
-              READ regionUseFlagsEnabled WRITE setRegionUseFlagsEnabled )
-
-  Q_PROPERTY( bool hideSearch
-              READ searchHidden WRITE setSearchHidden )
-
-  Q_PROPERTY( bool hideDescription
-              READ descriptionHidden WRITE setDescriptionHidden )
-
-  Q_PROPERTY( bool hideLanguage
-              READ languageHidden WRITE setLanguageHidden )
-
-  Q_PROPERTY( QStringList languageFilter
-              READ languageFilter WRITE setLanguageFilter )
-
-  public:
-    /**
-     * Describes the Selection Status of a Holiday Region.
-     */
-    enum SelectionStatus {
-      RegionHidden,             ///< The Holiday Region is not displayed
-      RegionDisabled,           ///< The Holiday Region is not available for \
                selection
-      RegionAvailable,          ///< The Holiday Region is available for selection
-      RegionSelected            ///< The Holiday Region is selected
-    };
-
-    /**
-     * Describes the Usage of a Holiday Region.
-     */
-    enum RegionUseFlag {
-      NotUsed            = 0x00,    ///< The Holiday Region is not used
-      UseInformationOnly = 0x01,    ///< The Holiday Region is used for information \
                only
-      UseDaysOff         = 0x02     ///< The Holiday Region is used for Days Off
-    };
-    Q_DECLARE_FLAGS( RegionUseFlags, RegionUseFlag )
-
-    /**
-     * Constructs a default Holiday Region selection widget.
-     *
-     * This widget will automatically be populated with all available Holiday \
                Regions,
-     * will display all available features including a serach bar and various \
                details
-     * columns, and will operate in Multi Selection mode.  If you require fewer \
                details
-     * or regions displayed or to operate in single or no selection mode, then you \
                must
-     * configure these after the widget is created.
-     *
-     * By default multiple Region Use selections are available to the user.  This is
-     * normally used to set if holidays are to be used for days off or information \
                only.
-     * These Use options can be overridden or disabled, or the text displayed \
                modifed
-     * as required.
-     *
-     * @param parent The parent widget.
-     */
-    explicit HolidayRegionSelector( QWidget *parent = Q_NULLPTR );
-
-    /**
-     * Destructor
-     */
-    virtual ~HolidayRegionSelector();
-
-    /**
-     * Return a list of all Holiday Regions available
-     *
-     * @return List of all Holiday Region Codes
-     */
-    QStringList holidayRegions() const;
-
-    /**
-     * Set what selection mode the Region list uses.
-     *
-     * The Selection Mode determines how many Holiday Regions can be selected in the \
                list:
-     *  - If NoSelection mode then the widget is display only and the user cannot \
                select any
-     *    Holiday Region.
-     *  - If SingleSelection mode then only a single Holiday Region can be chosen.
-     *  - If MultiSelection mode then more than one Holiday Regions can be chosen.
-     *
-     * @see selectionMode
-     * @param selectionMode The selection mode to use
-     */
-    void setSelectionMode( QAbstractItemView::SelectionMode selectionMode );
-
-    /**
-     * Return what selection mode the Region list uses.
-     *
-     * @see setSelectionMode
-     * @return The selection mode used
-     */
-    QAbstractItemView::SelectionMode selectionMode() const;
-
-    /**
-     * Set if Region Use Flags are enabled
-     *
-     * If Region Use Flags are disabled then the user can only select a Region
-     * with a binary on/off check box.  The selection status is set and returned
-     * using the holidayRegionStatus and setHolidayRegionStatus methods.
-     *
-     * If the Region Use Flags are enabled then the user can select from multiple
-     * options for how a Region can be used via a combo box.  The use flags are
-     * set and returned using the setRegionUseFlags and regionUseFlags methods.
-     *
-     * @see setSelectionMode
-     * @param listSelectionMode The list selection mode to use
-     */
-    void setRegionUseFlagsEnabled( bool enableRegionUseFlags );
-
-    /**
-     * Returns if Region Use Flags are enabled.
-     *
-     * @see setRegionUseFlagsEnabled
-     * @return if the Region Use Flags are enabled
-     */
-    bool regionUseFlagsEnabled() const;
-
-    /**
-     * Set the Selection Status for a Holiday Region.
-     *
-     * @see selectionStatus
-     * @param holidayRegionCode The Holiday Region to set the Status for
-     * @param status The Selection Status of the Holiday Region
-     */
-    void setSelectionStatus( const QString &holidayRegionCode,
-                             HolidayRegionSelector::SelectionStatus status );
-
-    /**
-     * Returns the current Selection Status for a Holiday Region.
-     *
-     * @see setSelectionStatus
-     * @param holidayRegionCode The Holiday Region required
-     * @return The current Selection Status for the Holiday Region
-     */
-    HolidayRegionSelector::SelectionStatus selectionStatus(
-      const QString &holidayRegionCode ) const;
-
-    /**
-     * Returns the current Selection Status for all Holiday Regions.
-     *
-     * @see setSelectionStatus
-     * @return A QHash of all Holiday Regions and their current Selection Status
-     */
-    QHash<QString, HolidayRegionSelector::SelectionStatus> selectionStatus() const;
-
-    /**
-     * Returns the list of Holiday Regions with a required Selection Status,
-     * defults to returning all selected Regions.
-     *
-     * @see setSelectionStatus
-     * @see selectionStatus
-     * @param selectionStatus The selection status to match, defaults to \
                RegionSelected
-     * @return A list of selected Holiday Regions
-     */
-    QStringList selection( HolidayRegionSelector::SelectionStatus selectionStatus =
-                           HolidayRegionSelector::RegionSelected ) const;
-
-    /**
-     * Returns the list of Holiday Regions with a required Region Use Flag.
-     *
-     * @see setRegionUseFlags
-     * @see regionUseFlags
-     * @param regionUseFlags The Region Use flags to match
-     * @return A list of matching Holiday Regions
-     */
-    QStringList selection( HolidayRegionSelector::RegionUseFlags regionUseFlags ) \
                const;
-
-    /**
-     * Clear the current Selection Status of all Holiday Regions including Region \
                Use Flags.
-     *
-     * @see setSelectionStatus
-     * @see selectionStatus
-     * @see selection
-     */
-    void clearSelection();
-
-    /**
-     * Set the Region Use Flags for a Holiday Region.
-     *
-     * @see regionUseFlags
-     * @param holidayRegionCode The Holiday Region to set the Use Flags for
-     * @param regionUseFlags The Use Flags for the Holiday Region
-     */
-    void setRegionUseFlags( const QString &holidayRegionCode,
-                            HolidayRegionSelector::RegionUseFlags regionUseFlags );
-
-    /**
-     * Returns the current Region Use Flags for a Holiday Region.
-     *
-     * @see setRegionUseFlags
-     * @param holidayRegionCode The Holiday Region required
-     * @return The current Use Flags for the Holiday Region
-     */
-    HolidayRegionSelector::RegionUseFlags regionUseFlags( const QString \
                &holidayRegionCode ) const;
-
-    /**
-     * Returns the current Region Use Flags for all Holiday Regions.
-     *
-     * @see setRegionUseFlags
-     * @return A QHash of Holiday Regions and their current Region Use Flags
-     */
-    QHash<QString, HolidayRegionSelector::RegionUseFlags> regionUseFlags() const;
-
-    /**
-     * Set a language filter on the Holiday Regions to be displayed.
-     *
-     * Only Holiday Regions in a language included in the filter will be
-     * displayed in the widget, i.e. all other Holiday Regions will have
-     * a SelectionStatus of RegionHidden.
-     *
-     * Setting a null list disables the display filter, i.e. all Holiday
-     * Regions are displayed.
-     *
-     * @see languageFilter
-     * @param languages A list of languages to filter for
-     */
-    void setLanguageFilter( const QStringList &languages );
-
-    /**
-     * Return the current language filter, a null list implies no filter is set.
-     *
-     * @see setLanguageFilter
-     * @return The list of languages currently being displayed
-     */
-    QStringList languageFilter() const;
-
-    /**
-     * Set if the search line to be hidden or displayed.
-     *
-     * @see searchHidden
-     * @param hideSearch If the search is to be hidden
-     */
-    void setSearchHidden( bool hideSearch );
-
-    /**
-     * Return if the search line is currently hidden.
-     *
-     * @see setSearchHidden
-     * @return If the search line is hidden
-     */
-    bool searchHidden() const;
-
-    /**
-     * Set if the Holiday Region Language field is to be hidden or displayed.
-     *
-     * @see languageHidden
-     * @param hideLanguage If the language field is to be hidden
-     */
-    void setLanguageHidden( bool hideLanguage );
-
-    /**
-     * Return if the Holiday Region Language field is currently hidden.
-     *
-     * @see setLanguageHidden
-     * @return If the language field is hidden
-     */
-    bool languageHidden() const;
-
-    /**
-     * Set if the Holiday Region Description field is to be hidden or displayed.
-     *
-     * @see descriptionHidden
-     * @param hideDescription If the description field is to be hidden
-     */
-    void setDescriptionHidden( bool hideDescription );
-
-    /**
-     * Return if the Holiday Region Description field is currently hidden.
-     *
-     * @see setDescriptionHidden
-     * @return If the description field is hidden
-     */
-    bool descriptionHidden() const;
-
-  private Q_SLOTS:
-    void itemChanged( QTreeWidgetItem *item, int column );
-    void itemChanged( int index );
-
-  Q_SIGNALS:
-    void selectionChanged();
-
-  private:
-    class Private;
-    Private *const d;
-};
-
-} // namespace KHolidays
-
-Q_DECLARE_OPERATORS_FOR_FLAGS( KHolidays::HolidayRegionSelector::RegionUseFlags )
-
-#endif // KHOLIDAYS_HOLIDAYREGIONSELECTOR_H
diff --git a/src/holidayregionselector.ui b/src/holidayregionselector.ui
deleted file mode 100644
index c4dfca4..0000000
--- a/src/holidayregionselector.ui
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>holidayRegionSelector</class>
- <widget class="QWidget" name="holidayRegionSelector">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>298</width>
-    <height>255</height>
-   </rect>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <property name="margin">
-    <number>0</number>
-   </property>
-   <item>
-    <widget class="KTreeWidgetSearchLineWidget" name="searchLineWidget"/>
-   </item>
-   <item>
-    <widget class="QTreeWidget" name="regionTreeWidget">
-     <property name="allColumnsShowFocus">
-      <bool>true</bool>
-     </property>
-     <attribute name="headerHighlightSections">
-      <bool>true</bool>
-     </attribute>
-     <column>
-      <property name="text">
-       <string notr="true">1</string>
-      </property>
-     </column>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <customwidgets>
-  <customwidget>
-   <class>KTreeWidgetSearchLine</class>
-   <extends>QWidget</extends>
-   <header>ktreewidgetsearchline.h</header>
-  </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/kholidays.widgets b/src/kholidays.widgets
deleted file mode 100644
index 2fdc87a..0000000
--- a/src/kholidays.widgets
+++ /dev/null
@@ -1,9 +0,0 @@
-[Global]
-PluginName=KHolidaysWidgets
-
-[KHolidays::HolidayRegionSelector]
-ToolTip=Holiday Region Selector (KHolidays)
-WhatsThis=A widget to select Holiday Regions to use.
-IncludeFile=kholidays/holidayregionselector.h
-ConstructorArgs=(parent)
-Group=Input (KDE-PIM)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic