Vidalia 0.3.1
ConfigPageStack.cpp
Go to the documentation of this file.
1/*
2** This file is part of Vidalia, and is subject to the license terms in the
3** LICENSE file, found in the top level directory of this distribution. If you
4** did not receive the LICENSE file with this file, you may obtain it from the
5** Vidalia source package distributed by the Vidalia Project at
6** http://www.torproject.org/projects/vidalia.html. No part of Vidalia,
7** including this file, may be copied, modified, propagated, or distributed
8** except according to the terms described in the LICENSE file.
9*/
10
11/*
12** \file ConfigPageStack.cpp
13** \brief A collection of configuration pages
14*/
15
16#include "ConfigPageStack.h"
17
18#include <QAction>
19
20
21/** Default constructor. */
23: QStackedWidget(parent)
24{
25}
26
27/** Adds a page to the stack. */
28void
29ConfigPageStack::add(ConfigPage *page, QAction *action)
30{
31 _pages.insert(action, page);
32 insertWidget(count(), page);
33}
34
35/** Sets the current config page and checks its action. */
36void
38{
39 foreach (QAction *action, _pages.keys(page)) {
40 action->setChecked(true);
41 }
42 setCurrentWidget(page);
43}
44
45/** Sets the current config page index and checks its action. */
46void
48{
49 setCurrentPage((ConfigPage *)widget(index));
50}
51
52/** Shows the config page associated with the activated action. */
53void
54ConfigPageStack::showPage(QAction *pageAction)
55{
56 setCurrentWidget(_pages.value(pageAction));
57}
58
59/** Returns a list of all pages in the stack. The order of the pages in the
60 * returned QList is the same as the order in which the pages were initially
61 * added to the stack. */
62QList<ConfigPage *>
64{
65 QList<ConfigPage *> pages;
66 for (int i = 0; i < count(); i++)
67 pages << dynamic_cast<ConfigPage *>(widget(i));
68 return pages;
69}
70
void add(ConfigPage *page, QAction *action)
QList< ConfigPage * > pages() const
QHash< QAction *, ConfigPage * > _pages
ConfigPageStack(QWidget *parent=0)
void setCurrentPage(ConfigPage *page)
void showPage(QAction *pageAction)
void setCurrentIndex(int index)
QString i(QString str)
Definition: html.cpp:32