diff --git a/kcms/componentchooser/CMakeLists.txt b/kcms/componentchooser/CMakeLists.txt index 0ca35abf6..db40bec24 100644 --- a/kcms/componentchooser/CMakeLists.txt +++ b/kcms/componentchooser/CMakeLists.txt @@ -1,44 +1,43 @@ # KI18N Translation Domain for this library add_definitions(-DTRANSLATION_DOMAIN=\"kcm5_componentchooser\") add_subdirectory( componentservices ) ########### next target ############### set(kcm_componentchooser_SRCS componentchooser.cpp componentchooserbrowser.cpp componentchooserfilemanager.cpp componentchooseremail.cpp componentchooserterminal.cpp kcm_componentchooser.cpp - ktimerdialog.cpp ) ki18n_wrap_ui(kcm_componentchooser_SRCS browserconfig_ui.ui filemanagerconfig_ui.ui emailclientconfig_ui.ui componentchooser_ui.ui componentconfig_ui.ui terminalemulatorconfig_ui.ui ) add_library(kcm_componentchooser MODULE ${kcm_componentchooser_SRCS}) target_link_libraries(kcm_componentchooser KF5::KDELibs4Support Qt5::X11Extras ) install(TARGETS kcm_componentchooser DESTINATION ${KDE_INSTALL_PLUGINDIR} ) ########### install files ############### install( FILES componentchooser.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} ) diff --git a/kcms/componentchooser/ktimerdialog.cpp b/kcms/componentchooser/ktimerdialog.cpp deleted file mode 100644 index 732dde4fa..000000000 --- a/kcms/componentchooser/ktimerdialog.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* - * This file is part of the KDE Libraries - * Copyright (C) 2002 Hamish Rodda - * - * 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 "ktimerdialog.h" - -#include -#include - -#include - -#include -#include - -#include -#include -#include -#include - -KTimerDialog::KTimerDialog( int msec, TimerStyle style, QWidget *parent, - const QString &caption, - int buttonMask, ButtonCode defaultButton, - bool separator, - const KGuiItem &user1, - const KGuiItem &user2, - const KGuiItem &user3 ) - : KDialog( parent ) -{ - setCaption( caption ); - setButtons( (ButtonCodes)buttonMask ); - setDefaultButton( defaultButton ); - setButtonFocus( defaultButton ); // setDefaultButton() doesn't do this - showButtonSeparator( separator ); - setButtonGuiItem( User1, user1 ); - setButtonGuiItem( User2, user2 ); - setButtonGuiItem( User3, user3 ); - - totalTimer = new QTimer( this ); - totalTimer->setSingleShot( true ); - updateTimer = new QTimer( this ); - updateTimer->setSingleShot( false ); - msecTotal = msecRemaining = msec; - updateInterval = 1000; - tStyle = style; - KWindowSystem::setIcons( winId(), DesktopIcon(QStringLiteral("randr")), SmallIcon(QStringLiteral("randr")) ); - // default to canceling the dialog on timeout - if ( buttonMask & Cancel ) - buttonOnTimeout = Cancel; - - connect(totalTimer, &QTimer::timeout, this, &KTimerDialog::slotInternalTimeout); - connect( updateTimer, SIGNAL( timeout() ), SLOT( slotUpdateTime() ) ); - - // create the widgets - mainWidget = new KVBox( this ); - timerWidget = new KHBox( mainWidget ); - timerWidget->setSpacing(KDialog::spacingHint()); - timerLabel = new QLabel( timerWidget ); - timerProgress = new QProgressBar( timerWidget ); - timerProgress->setRange( 0, msecTotal ); - timerProgress->setTextVisible( false ); - - KDialog::setMainWidget( mainWidget ); - - slotUpdateTime( false ); -} - -KTimerDialog::~KTimerDialog() -{ -} - -void KTimerDialog::setVisible( bool visible ) -{ - KDialog::setVisible( visible ); - - if ( visible ) { - totalTimer->start( msecTotal ); - updateTimer->start( updateInterval ); - } -} - -int KTimerDialog::exec() -{ - totalTimer->start( msecTotal ); - updateTimer->start( updateInterval ); - return KDialog::exec(); -} - -void KTimerDialog::setMainWidget( QWidget *widget ) -{ - // yuck, here goes. - KVBox *newWidget = new KVBox( this ); - - if ( widget->parentWidget() != mainWidget ) { - widget->setParent( newWidget); - } - timerWidget->setParent( newWidget); - - delete mainWidget; - mainWidget = newWidget; - KDialog::setMainWidget( mainWidget ); -} - -void KTimerDialog::setRefreshInterval( int msec ) -{ - updateInterval = msec; - if ( updateTimer->isActive() ) - updateTimer->start( updateInterval ); -} - -int KTimerDialog::timeoutButton() const -{ - return buttonOnTimeout; -} - -void KTimerDialog::setTimeoutButton( const ButtonCode newButton ) -{ - buttonOnTimeout = newButton; -} - -int KTimerDialog::timerStyle() const -{ - return tStyle; -} - -void KTimerDialog::setTimerStyle( const TimerStyle newStyle ) -{ - tStyle = newStyle; -} - -void KTimerDialog::slotUpdateTime( bool update ) -{ - if ( update ) - switch ( tStyle ) { - case CountDown: - msecRemaining -= updateInterval; - break; - case CountUp: - msecRemaining += updateInterval; - break; - case Manual: - break; - } - - timerProgress->setValue( msecRemaining ); - - timerLabel->setText( i18np("1 second remaining:","%1 seconds remaining:",msecRemaining/1000) ); -} - -void KTimerDialog::slotInternalTimeout() -{ - emit timerTimeout(); - slotButtonClicked( buttonOnTimeout ); -} diff --git a/kcms/componentchooser/ktimerdialog.h b/kcms/componentchooser/ktimerdialog.h deleted file mode 100644 index 23acda2ec..000000000 --- a/kcms/componentchooser/ktimerdialog.h +++ /dev/null @@ -1,172 +0,0 @@ -/* - * This file is part of the KDE Libraries - * Copyright (C) 2002 Hamish Rodda - * - * 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 _KTIMERDIALOG_H_ -#define _KTIMERDIALOG_H_ - -#include - -#include -#include - -class QTimer; -class KHBox; -class QProgressBar; -class QLabel; - -/** - * Provides a dialog that is only available for a specified amount - * of time, and reports the time remaining to the user. - * - * The timer is capable of counting up or down, for any number of milliseconds. - * - * The button which is activated upon timeout can be specified, as can the - * update interval for the dialog box. - * - * In addition, this class retains all of the functionality of @see KDialog. - * - * @short A dialog with a time limit and corresponding UI features. - * @author Hamish Rodda - */ -class KTimerDialog : public KDialog -{ - Q_OBJECT - - public: - - /** - * @li @p CountDown - The timer counts downwards from the seconds given. - * @li @p CountUp - The timer counts up to the number of seconds given. - * @li @p Manual - The timer is not invoked; the caller must update the - * progress. - */ - enum TimerStyle - { - CountDown, - CountUp, - Manual - }; - - /** - * Constructor for the standard mode where you must specify the main - * widget with @ref setMainWidget() . See @see KDialog for further details. - * - * For the rest of the arguments, See @see KDialog . - */ - explicit KTimerDialog( int msec, TimerStyle style=CountDown, QWidget *parent=nullptr, - const QString &caption=QString(), - int buttonMask=Ok|Apply|Cancel, ButtonCode defaultButton=Ok, - bool separator=false, - const KGuiItem &user1=KGuiItem(), - const KGuiItem &user2=KGuiItem(), - const KGuiItem &user3=KGuiItem() ); - - /** - * Destructor. - */ - ~KTimerDialog() override; - - /** - * Execute the dialog modelessly - see @see QDialog . - */ - void setVisible( bool visible ) override; - - /** - * Set the refresh interval for the timer progress. Defaults to one second. - */ - void setRefreshInterval( int msec ); - - /** - * Retrieves the @ref ButtonCode which will be activated once the timer - * times out. @see setTimeoutButton - */ - int timeoutButton() const; - - /** - * Sets the @ref ButtonCode to determine which button will be activated - * once the timer times out. @see timeoutButton - */ - void setTimeoutButton( ButtonCode newButton ); - - /** - * Retrieves the current @ref TimerStyle. @see setTimerStyle - */ - int timerStyle() const; - - /** - * Sets the @ref TimerStyle. @see timerStyle - */ - void setTimerStyle( TimerStyle newStyle ); - - /** - * Overridden function which is used to set the main widget of the dialog. - * @see KDialog::setMainWidget. - */ - void setMainWidget( QWidget *widget ); - - Q_SIGNALS: - /** - * Signal which is emitted once the timer has timed out. - */ - void timerTimeout(); - - public Q_SLOTS: - /** - * Execute the dialog modally - see @see QDialog . - */ - int exec() override; - - private Q_SLOTS: - /** - * Updates the dialog with the current progress levels. - */ - void slotUpdateTime( bool update = true ); - - /** - * The internal - */ - void slotInternalTimeout(); - - private: - /** - * Prepares the layout that manages the widgets of the dialog - */ - void setupLayout(); - - QTimer *totalTimer; - QTimer *updateTimer; - int msecRemaining, updateInterval, msecTotal; - - ButtonCode buttonOnTimeout; - TimerStyle tStyle; - - KHBox *timerWidget; - QProgressBar *timerProgress; - QLabel *timerLabel; - KVBox *mainWidget; - - class KTimerDialogPrivate; - KTimerDialogPrivate *d; -}; - -#endif - - -