mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +00:00
kdeui: remove unused KAssistantDialog class
use QWizard instead Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
b3b190e6ae
commit
12b8b0b3ae
5 changed files with 0 additions and 321 deletions
|
@ -13,7 +13,6 @@ install(
|
|||
KApplication
|
||||
KArchive
|
||||
KArchiveEntry
|
||||
KAssistantDialog
|
||||
KAuthorization
|
||||
KAutoMount
|
||||
KAutoUnmount
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
#include "../kassistantdialog.h"
|
|
@ -80,7 +80,6 @@ set(kdeui_LIB_SRCS
|
|||
config/kconfigskeleton.cpp
|
||||
config/kconfiggroupgui.cpp
|
||||
dialogs/kaboutkdedialog_p.cpp
|
||||
dialogs/kassistantdialog.cpp
|
||||
dialogs/kconfigdialog.cpp
|
||||
dialogs/kconfigdialogmanager.cpp
|
||||
dialogs/kdialog.cpp
|
||||
|
@ -406,7 +405,6 @@ install(
|
|||
colors/khuesaturationselect.h
|
||||
config/kconfigskeleton.h
|
||||
dialogs/kaboutapplicationdialog.h
|
||||
dialogs/kassistantdialog.h
|
||||
dialogs/kconfigdialog.h
|
||||
dialogs/kconfigdialogmanager.h
|
||||
dialogs/kdeprintdialog.h
|
||||
|
|
|
@ -1,167 +0,0 @@
|
|||
/* This file is part of the KDE libraries
|
||||
Copyright (C) 2006 Olivier Goffart <ogoffart at kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
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 "kassistantdialog.h"
|
||||
|
||||
#include <kstandardguiitem.h>
|
||||
#include <klocale.h>
|
||||
#include <kdebug.h>
|
||||
|
||||
#include <QHash>
|
||||
|
||||
class KAssistantDialog::Private
|
||||
{
|
||||
public:
|
||||
Private(KAssistantDialog *q)
|
||||
: q(q)
|
||||
{
|
||||
}
|
||||
|
||||
KAssistantDialog *q;
|
||||
QHash<KPageWidgetItem*, bool> valid;
|
||||
QHash<KPageWidgetItem*, bool> appropriate;
|
||||
KPageWidgetModel *pageModel;
|
||||
|
||||
void init();
|
||||
void _k_slotUpdateButtons();
|
||||
|
||||
QModelIndex getNext(QModelIndex nextIndex)
|
||||
{
|
||||
QModelIndex currentIndex;
|
||||
do {
|
||||
currentIndex=nextIndex;
|
||||
nextIndex=currentIndex.child(0, 0);
|
||||
if (!nextIndex.isValid())
|
||||
nextIndex=currentIndex.sibling(currentIndex.row() + 1, 0);
|
||||
} while (nextIndex.isValid() && !appropriate.value(pageModel->item(nextIndex), true));
|
||||
return nextIndex;
|
||||
}
|
||||
|
||||
QModelIndex getPrevious(QModelIndex nextIndex)
|
||||
{
|
||||
QModelIndex currentIndex;
|
||||
do {
|
||||
currentIndex=nextIndex;
|
||||
nextIndex=currentIndex.sibling(currentIndex.row() - 1, 0);
|
||||
if (!nextIndex.isValid())
|
||||
nextIndex=currentIndex.parent();
|
||||
} while (nextIndex.isValid() && !appropriate.value(pageModel->item(nextIndex), true));
|
||||
return nextIndex;
|
||||
}
|
||||
};
|
||||
|
||||
KAssistantDialog::KAssistantDialog(QWidget * parent, Qt::WindowFlags flags)
|
||||
: KPageDialog(parent, flags), d(new Private(this))
|
||||
{
|
||||
d->init();
|
||||
//workaround to get the page model
|
||||
KPageWidget *pagewidget=findChild<KPageWidget*>();
|
||||
Q_ASSERT(pagewidget);
|
||||
d->pageModel=static_cast<KPageWidgetModel*>(pagewidget->model());
|
||||
}
|
||||
|
||||
KAssistantDialog::KAssistantDialog(KPageWidget *widget, QWidget *parent, Qt::WindowFlags flags)
|
||||
: KPageDialog(widget, parent, flags), d(new Private(this))
|
||||
{
|
||||
d->init();
|
||||
d->pageModel=static_cast<KPageWidgetModel*>(widget->model());
|
||||
}
|
||||
|
||||
KAssistantDialog::~KAssistantDialog()
|
||||
{
|
||||
delete d;
|
||||
}
|
||||
|
||||
void KAssistantDialog::Private::init()
|
||||
{
|
||||
q->setButtons(KDialog::Cancel | KDialog::User1 | KDialog::User2 | KDialog::User3 | KDialog::Help);
|
||||
q->setButtonGuiItem( KDialog::User3, KStandardGuiItem::back(KStandardGuiItem::UseRTL) );
|
||||
q->setButtonText( KDialog::User2, i18nc("Opposite to Back", "Next") );
|
||||
q->setButtonText(KDialog::User1, i18n("Finish"));
|
||||
q->setButtonIcon( KDialog::User2, KStandardGuiItem::forward(KStandardGuiItem::UseRTL).icon() );
|
||||
q->setButtonIcon( KDialog::User1, KIcon("dialog-ok-apply") );
|
||||
q->setDefaultButton(KDialog::User2);
|
||||
q->setFaceType(KPageDialog::Plain);
|
||||
|
||||
q->connect(q, SIGNAL(user3Clicked()), q, SLOT(back()));
|
||||
q->connect(q, SIGNAL(user2Clicked()), q, SLOT(next()));
|
||||
q->connect(q, SIGNAL(user1Clicked()), q, SLOT(accept()));
|
||||
|
||||
q->connect(q, SIGNAL(currentPageChanged(KPageWidgetItem*,KPageWidgetItem*)), q, SLOT(_k_slotUpdateButtons()));
|
||||
}
|
||||
|
||||
|
||||
void KAssistantDialog::back()
|
||||
{
|
||||
QModelIndex nextIndex=d->getPrevious(d->pageModel->index(currentPage()));
|
||||
if (nextIndex.isValid())
|
||||
setCurrentPage(d->pageModel->item(nextIndex));
|
||||
}
|
||||
|
||||
void KAssistantDialog::next()
|
||||
{
|
||||
QModelIndex nextIndex=d->getNext(d->pageModel->index(currentPage()));
|
||||
if (nextIndex.isValid())
|
||||
setCurrentPage(d->pageModel->item(nextIndex));
|
||||
else if (isValid(currentPage()))
|
||||
accept();
|
||||
}
|
||||
|
||||
void KAssistantDialog::setValid(KPageWidgetItem * page, bool enable)
|
||||
{
|
||||
d->valid[page]=enable;
|
||||
if (page == currentPage())
|
||||
d->_k_slotUpdateButtons();
|
||||
}
|
||||
|
||||
bool KAssistantDialog::isValid(KPageWidgetItem * page) const
|
||||
{
|
||||
return d->valid.value(page, true);
|
||||
}
|
||||
|
||||
void KAssistantDialog::Private::_k_slotUpdateButtons()
|
||||
{
|
||||
QModelIndex currentIndex=pageModel->index(q->currentPage());
|
||||
//change the caption of the next/finish button
|
||||
QModelIndex nextIndex=getNext(currentIndex);
|
||||
q->enableButton(KDialog::User1, !nextIndex.isValid() && q->isValid(q->currentPage()));
|
||||
q->enableButton(KDialog::User2, nextIndex.isValid() && q->isValid(q->currentPage()));
|
||||
q->setDefaultButton(nextIndex.isValid() ? KDialog::User2 : KDialog::User1);
|
||||
//enable or disable the back button;
|
||||
nextIndex=getPrevious(currentIndex);
|
||||
q->enableButton(KDialog::User3, nextIndex.isValid());
|
||||
}
|
||||
|
||||
void KAssistantDialog::showEvent(QShowEvent * event)
|
||||
{
|
||||
d->_k_slotUpdateButtons(); //called because last time that function was called is when the first page was added, so the next button show "finish"
|
||||
KPageDialog::showEvent(event);
|
||||
}
|
||||
|
||||
void KAssistantDialog::setAppropriate(KPageWidgetItem * page, bool appropriate)
|
||||
{
|
||||
d->appropriate[page]=appropriate;
|
||||
d->_k_slotUpdateButtons();
|
||||
}
|
||||
|
||||
bool KAssistantDialog::isAppropriate(KPageWidgetItem * page) const
|
||||
{
|
||||
return d->appropriate.value(page, true);
|
||||
}
|
||||
|
||||
#include "moc_kassistantdialog.cpp"
|
|
@ -1,150 +0,0 @@
|
|||
/* This file is part of the KDE libraries
|
||||
Copyright (C) 2006 Olivier Goffart <ogoffart at kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
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 KASSISTANTDIALOG_H
|
||||
#define KASSISTANTDIALOG_H
|
||||
|
||||
#include <kpagedialog.h>
|
||||
|
||||
/**
|
||||
* This class provides a framework for assistant dialogs.
|
||||
*
|
||||
* The use of this class is the same as KWizard in KDE3.
|
||||
* You should use the word "assistant" instead of "wizard" both in the source
|
||||
* and translatable strings.
|
||||
*
|
||||
* An assistant dialog consists of a sequence of pages.
|
||||
* Its purpose is to guide the user (assist) through a process step by step.
|
||||
* Assistant dialogs are useful for complex or infrequently occurring tasks
|
||||
* that people may find difficult to learn or do.
|
||||
* Sometimes a task requires too many input fields to fit them on a single dialog.
|
||||
*
|
||||
* KAssistantDialog provides page titles and displays Next, Back, Finish, Cancel,
|
||||
* and Help push buttons, as appropriate to the current position in the page sequence.
|
||||
* The Finish Button has the code KDialog::User1, The Next button is KDialog::User2
|
||||
* and the Back button is KDialog::User3.
|
||||
* The help button may be hidden using showButton(KDialog::Help, false)
|
||||
*
|
||||
* Create and populate dialog pages that inherit from QWidget and add them
|
||||
* to the assistant dialog using addPage().
|
||||
*
|
||||
* The functions next() and back() are virtual and may be reimplemented to
|
||||
* override the default actions of the next and back buttons.
|
||||
*
|
||||
* \image html kassistantdialog.png "KDE Assistant Dialog"
|
||||
*
|
||||
* @author Olivier Goffart <ogoffart at kde.org>
|
||||
*/
|
||||
class KDEUI_EXPORT KAssistantDialog : public KPageDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
/**
|
||||
* Construct a new assistant dialog with @p parent as parent.
|
||||
* @param parent is the parent of the widget.
|
||||
* @flags the window flags to give to the assistant dialog. The
|
||||
* default of zero is usually what you want.
|
||||
*/
|
||||
explicit KAssistantDialog(QWidget *parent=0, Qt::WindowFlags flags=0);
|
||||
virtual ~KAssistantDialog();
|
||||
|
||||
/**
|
||||
* Specify if the content of the page is valid, and if the next button may be enabled on this page.
|
||||
* By default all pages are valid.
|
||||
*
|
||||
* This will disable or enable the next button on the specified page
|
||||
*
|
||||
* @param page the page on which the next button will be enabled/disable
|
||||
* @param enable if true the next button will be enabled, if false it will be disabled
|
||||
*/
|
||||
void setValid(KPageWidgetItem* page, bool enable);
|
||||
|
||||
/**
|
||||
* return if a page is valid
|
||||
* @see setValid
|
||||
* @param page the page to check the validity of
|
||||
*/
|
||||
bool isValid(KPageWidgetItem *page) const;
|
||||
|
||||
/**
|
||||
* Specify whether a page is appropriate.
|
||||
*
|
||||
* A page is considered inappropriate if it should not be shown due to
|
||||
* the contents of other pages making it inappropriate.
|
||||
*
|
||||
* A page which is inappropriate will not be shown.
|
||||
*
|
||||
* The last page in an assistant dialog should always be appropriate
|
||||
* @param page the page to set as appropriate
|
||||
* @param appropriate flag indicating the appropriateness of the page.
|
||||
* If @p appropriate is true, then @p page is appropriate and will be
|
||||
* shown in the assistant dialog. If false, @p page will not be shown.
|
||||
*/
|
||||
void setAppropriate(KPageWidgetItem *page, bool appropriate);
|
||||
|
||||
/**
|
||||
* Check if a page is appropriate for use in the assistant dialog.
|
||||
* @param page is the page to check the appropriateness of.
|
||||
* @return true if @p page is appropriate, false if it is not
|
||||
*/
|
||||
bool isAppropriate(KPageWidgetItem *page) const;
|
||||
|
||||
|
||||
public Q_SLOTS:
|
||||
/**
|
||||
* Called when the user clicks the Back button.
|
||||
*
|
||||
* This function will show the preceding relevant page in the sequence.
|
||||
* Do nothing if the current page is the first page in the sequence.
|
||||
*/
|
||||
virtual void back();
|
||||
|
||||
/**
|
||||
* Called when the user clicks the Next/Finish button.
|
||||
*
|
||||
* This function will show the next relevant page in the sequence.
|
||||
* If the current page is the last page, it will call accept()
|
||||
*/
|
||||
virtual void next();
|
||||
|
||||
protected:
|
||||
/**
|
||||
* Construct an assistant dialog from a single widget.
|
||||
* @param widget the widget to construct the dialog with
|
||||
* @param parent the parent of the assistant dialog
|
||||
* @flags the window flags to use when creating the widget. The default
|
||||
* of zero is usually fine.
|
||||
*
|
||||
* Calls the KPageDialog(KPageWidget *widget, QWidget *parent, Qt::WindowFlags flags) constructor
|
||||
*/
|
||||
explicit KAssistantDialog(KPageWidget *widget, QWidget *parent=0, Qt::WindowFlags flags=0);
|
||||
|
||||
virtual void showEvent(QShowEvent * event);
|
||||
|
||||
private:
|
||||
class Private;
|
||||
Private * const d;
|
||||
|
||||
Q_PRIVATE_SLOT( d, void _k_slotUpdateButtons() )
|
||||
|
||||
Q_DISABLE_COPY( KAssistantDialog )
|
||||
};
|
||||
|
||||
|
||||
#endif
|
Loading…
Add table
Reference in a new issue