~ubuntu-branches/ubuntu/saucy/digikam/saucy

« back to all changes in this revision

Viewing changes to libs/widgets/common/sidebar.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Christian Mangold
  • Date: 2010-04-09 21:30:01 UTC
  • mfrom: (1.2.28 upstream)
  • Revision ID: james.westby@ubuntu.com-20100409213001-4bfyibrd359rn7o3
Tags: 2:1.2.0-0ubuntu1
* New upstream release (LP: #560576)
* Remove all patches, fixed upstream
  - Remove quilt build-depend

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
 
66
66
public:
67
67
 
68
 
    SidebarPriv()
 
68
    SidebarPriv() :
 
69
        minimizedDefault(false),
 
70
        minimized(false),
 
71
        isMinimized(false),
 
72
        tabs(0),
 
73
        activeTab(-1),
 
74
        dragSwitchId(-1),
 
75
        restoreSize(0),
 
76
        stack(0),
 
77
        dragSwitchTimer(0),
 
78
        optionActiveTabEntry("ActiveTab"),
 
79
        optionMinimizedEntry("Minimized"),
 
80
        optionRestoreSizeEntry("RestoreSize")
69
81
    {
70
 
        minimizedDefault = false;
71
 
        minimized        = false;
72
 
        isMinimized      = false;
73
 
        tabs             = 0;
74
 
        activeTab        = -1;
75
 
        dragSwitchId     = -1;
76
 
        stack            = 0;
77
 
        dragSwitchTimer  = 0;
78
 
        restoreSize      = 0;
79
82
    }
80
83
 
81
84
    bool                          minimizedDefault;
92
95
    QTimer*                       dragSwitchTimer;
93
96
 
94
97
    QHash<QWidget*, SidebarState> appendedTabsStateCache;
 
98
 
 
99
    const QString optionActiveTabEntry;
 
100
    const QString optionMinimizedEntry;
 
101
    const QString optionRestoreSizeEntry;
 
102
 
95
103
};
96
104
 
97
105
class SidebarSplitterPriv
104
112
// -------------------------------------------------------------------------------------
105
113
 
106
114
Sidebar::Sidebar(QWidget *parent, SidebarSplitter *sp, KMultiTabBarPosition side, bool minimizedDefault)
107
 
       : KMultiTabBar(side, parent), d(new SidebarPriv)
 
115
       : KMultiTabBar(side, parent), StateSavingObject(this), d(new SidebarPriv)
108
116
{
109
117
    d->splitter         = sp;
110
118
    d->minimizedDefault = minimizedDefault;
121
129
 
122
130
Sidebar::~Sidebar()
123
131
{
124
 
    saveViewState();
 
132
    saveState();
125
133
    if (d->splitter)
126
134
        d->splitter->d->sidebars.removeAll(this);
127
135
    delete d;
132
140
    return d->splitter;
133
141
}
134
142
 
135
 
void Sidebar::loadViewState()
 
143
void Sidebar::doLoadState()
136
144
{
137
 
    KSharedConfig::Ptr config = KGlobal::config();
138
 
    KConfigGroup group        = config->group(QString("%1").arg(objectName()));
139
 
    int tab                   = group.readEntry("ActiveTab",   0);
140
 
    bool minimized            = group.readEntry("Minimized",   d->minimizedDefault);
141
 
    d->restoreSize            = group.readEntry("RestoreSize", -1);
 
145
    KConfigGroup group        = getConfigGroup();
 
146
    int tab                   = group.readEntry(entryName(d->optionActiveTabEntry),   0);
 
147
    bool minimized            = group.readEntry(entryName(d->optionMinimizedEntry),   d->minimizedDefault);
 
148
    d->restoreSize            = group.readEntry(entryName(d->optionRestoreSizeEntry), -1);
142
149
 
143
150
    // validate
144
151
    if(tab >= d->tabs || tab < 0)
158
165
    clicked(tab);
159
166
}
160
167
 
161
 
void Sidebar::saveViewState()
 
168
void Sidebar::doSaveState()
162
169
{
163
 
    KSharedConfig::Ptr config = KGlobal::config();
164
 
    KConfigGroup group        = config->group(QString("%1").arg(objectName()));
165
 
    group.writeEntry("ActiveTab",   d->activeTab);
166
 
    group.writeEntry("Minimized",   d->minimized);
167
 
    group.writeEntry("RestoreSize", d->minimized ? d->restoreSize : -1);
168
 
    config->sync();
 
170
    KConfigGroup group        = getConfigGroup();
 
171
    group.writeEntry(entryName(d->optionActiveTabEntry),   d->activeTab);
 
172
    group.writeEntry(entryName(d->optionMinimizedEntry),   d->minimized);
 
173
    group.writeEntry(entryName(d->optionRestoreSizeEntry), d->minimized ? d->restoreSize : -1);
169
174
}
170
175
 
171
176
void Sidebar::backup()