Subversion Repositories Scribus

Rev

Rev 15173 | Rev 15226 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
14656 cbradney 1
/*
2
For general Scribus (>=1.3.2) copyright and licensing information please refer
3
to the COPYING file provided with the program. Following this notice may exist
4
a copyright and/or license notice that predates the release of Scribus 1.3.2
5
for which a new license (GPL+exception) is in place.
6
*/
7
 
8
#include <QDebug>
9
#include <QPushButton>
10
#include <QLayout>
11
#include <QListWidget>
12
#include <QVBoxLayout>
13
 
14
#include "ui/preferencesdialog.h"
15
 
16
#include "commonstrings.h"
17
#include "pluginmanager.h"
18
#include "prefsmanager.h"
19
#include "scplugin.h"
20
#include "scribus.h"
21
#include "scribuscore.h"
15017 cbradney 22
#include "scribusdoc.h"
14656 cbradney 23
#include "units.h"
24
#include "util_icon.h"
25
 
15017 cbradney 26
PreferencesDialog::PreferencesDialog(QWidget* parent, ApplicationPrefs& prefsData, ScribusDoc* doc)
14656 cbradney 27
        : QDialog(parent),
15021 cbradney 28
        prefs_ColorManagement(0),
15160 cbradney 29
        prefs_Display(0),
15021 cbradney 30
        prefs_DocumentInformation(0),
15160 cbradney 31
        prefs_DocumentItemAttributes(0),
15021 cbradney 32
        prefs_DocumentSections(0),
33
        prefs_DocumentSetup(0),
34
        prefs_ExternalTools(0),
15160 cbradney 35
        prefs_Fonts(0),
15021 cbradney 36
        prefs_Guides(0),
15160 cbradney 37
        prefs_Hyphenator(0),
38
        prefs_ImageCache(0),
39
        prefs_ItemTools(0),
15021 cbradney 40
        prefs_KeyboardShortcuts(0),
15160 cbradney 41
        prefs_Miscellaneous(0),
42
        prefs_OperatorTools(0),
43
        prefs_PDFExport(0),
44
        prefs_PageSizes(0),
15021 cbradney 45
        prefs_Paths(0),
46
        prefs_Plugins(0),prefs_PreflightVerifier(0),
15160 cbradney 47
        prefs_Printer(0),
15021 cbradney 48
        prefs_Scrapbook(0),
15160 cbradney 49
        prefs_TableOfContents(0),
15021 cbradney 50
        prefs_Typography(0),
15160 cbradney 51
        prefs_UserInterface(0),
15017 cbradney 52
        counter(0),
53
        m_Doc(doc)
14656 cbradney 54
{
55
        setupUi(this);
56
        setObjectName(QString::fromLocal8Bit("PreferencesDialog"));
57
        setupListWidget();
58
        while (prefsStackWidget->currentWidget()!=0)
59
                prefsStackWidget->removeWidget(prefsStackWidget->currentWidget());
15059 cbradney 60
        if(doc)
61
        {
62
                setWindowTitle( tr("Document Setup") );
63
                exportButton->hide();
64
                defaultsButton->hide();
65
        }
15140 cbradney 66
        // Create Stack Widgets if required
15160 cbradney 67
        prefs_ColorManagement = new Prefs_ColorManagement(prefsStackWidget, m_Doc);
68
        prefs_Display = new Prefs_Display(prefsStackWidget, m_Doc);
69
        prefs_DocumentItemAttributes = new Prefs_DocumentItemAttributes(prefsStackWidget, m_Doc);
15124 cbradney 70
        prefs_DocumentSetup = new Prefs_DocumentSetup(prefsStackWidget, m_Doc);
15160 cbradney 71
        prefs_Fonts = new Prefs_Fonts(prefsStackWidget, m_Doc);
15124 cbradney 72
        prefs_Guides = new Prefs_Guides(prefsStackWidget, m_Doc);
15160 cbradney 73
        prefs_Hyphenator = new Prefs_Hyphenator(prefsStackWidget, m_Doc);
15124 cbradney 74
        prefs_ItemTools = new Prefs_ItemTools(prefsStackWidget, m_Doc);
75
        prefs_OperatorTools = new Prefs_OperatorTools(prefsStackWidget, m_Doc);
76
        prefs_PDFExport = new Prefs_PDFExport(prefsStackWidget, m_Doc);
77
        prefs_PreflightVerifier = new Prefs_PreflightVerifier(prefsStackWidget, m_Doc);
15160 cbradney 78
        prefs_Printer = new Prefs_Printer(prefsStackWidget, m_Doc);
15124 cbradney 79
        prefs_TableOfContents = new Prefs_TableOfContents(prefsStackWidget, m_Doc);
15160 cbradney 80
        prefs_Typography = new Prefs_Typography(prefsStackWidget, m_Doc);
15124 cbradney 81
        if (doc)
82
        {
15160 cbradney 83
                prefs_DocumentInformation = new Prefs_DocumentInformation(prefsStackWidget, m_Doc);
15124 cbradney 84
                prefs_DocumentSections  = new Prefs_DocumentSections(prefsStackWidget, m_Doc);
85
        }
15059 cbradney 86
        if (!doc)
87
        {
15124 cbradney 88
                prefs_ExternalTools = new Prefs_ExternalTools(prefsStackWidget, m_Doc);
15160 cbradney 89
                prefs_ImageCache = new Prefs_ImageCache(prefsStackWidget, m_Doc);
90
                prefs_KeyboardShortcuts = new Prefs_KeyboardShortcuts(prefsStackWidget, m_Doc);
15124 cbradney 91
                prefs_Miscellaneous = new Prefs_Miscellaneous(prefsStackWidget, m_Doc);
92
                prefs_PageSizes = new Prefs_PageSizes(prefsStackWidget, m_Doc);
15160 cbradney 93
                prefs_Paths = new Prefs_Paths(prefsStackWidget, m_Doc);
15124 cbradney 94
                prefs_Plugins = new Prefs_Plugins(prefsStackWidget, m_Doc);
15160 cbradney 95
                prefs_Scrapbook = new Prefs_Scrapbook(prefsStackWidget, m_Doc);
15084 cbradney 96
                prefs_UserInterface = new Prefs_UserInterface(prefsStackWidget, m_Doc);
15124 cbradney 97
        }
15140 cbradney 98
        // Add Stack Widgets if required
15124 cbradney 99
        if (!doc)
100
        {
15176 cbradney 101
                addItem( tr("User Interface"), loadIcon("scribus16.png"), prefs_UserInterface);
102
                addItem( tr("Paths"), loadIcon("16/folder.png"), prefs_Paths);
15059 cbradney 103
        }
15176 cbradney 104
        addItem( tr("Document Setup"), loadIcon("scribusdoc16.png"), prefs_DocumentSetup);
15017 cbradney 105
        if (doc)
106
        {
107
                addItem( tr("Document Information"), loadIcon("documentinfo32.png"), prefs_DocumentInformation);
108
        }
15176 cbradney 109
        addItem( tr("Guides"), loadIcon("16/edit-guides.png"), prefs_Guides);
110
        addItem( tr("Typography"), loadIcon("16/draw-text.png"), prefs_Typography);
111
        addItem( tr("Item Tools"), loadIcon("tools_16.png"), prefs_ItemTools);
112
        addItem( tr("Operator Tools"), loadIcon("tools_16.png"), prefs_OperatorTools);
113
        addItem( tr("Hyphenator"), loadIcon("signature_16.png"), prefs_Hyphenator);
114
        addItem( tr("Fonts"), loadIcon("16/preferences-desktop-font.png"), prefs_Fonts);
115
        addItem( tr("Color Management"), loadIcon("blend_16.png"), prefs_ColorManagement);
116
        addItem( tr("Printer"), loadIcon("16/printer.png"), prefs_Printer);
117
        addItem( tr("PDF Export"), loadIcon("acroread16.png"), prefs_PDFExport);
118
        addItem( tr("Preflight Verifier"), loadIcon("checkdoc_16.png"), prefs_PreflightVerifier);
119
        addItem( tr("Document Item Attributes"), loadIcon("docattributes_16.png"), prefs_DocumentItemAttributes);
120
        addItem( tr("Tables of Contents"), loadIcon("tabtocindex_16.png"), prefs_TableOfContents);
15017 cbradney 121
        if (doc)
122
        {
15176 cbradney 123
                addItem( tr("Sections"), loadIcon("tabtocindex.png_16"), prefs_DocumentSections);
15017 cbradney 124
        }
15059 cbradney 125
        if (!doc)
126
        {
15176 cbradney 127
                addItem( tr("Keyboard Shortcuts"), loadIcon("16/preferences-desktop-keyboard-shortcuts.png"), prefs_KeyboardShortcuts);
128
                addItem( tr("Scrapbook"), loadIcon("scrap_16.png"), prefs_Scrapbook);
15059 cbradney 129
        }
15176 cbradney 130
        addItem( tr("Display"), loadIcon("16/video-display.png"), prefs_Display);
15059 cbradney 131
        if (!doc)
132
        {
15176 cbradney 133
                addItem( tr("External Tools"), loadIcon("gear_16.png"), prefs_ExternalTools);
134
                addItem( tr("Miscellaneous"), loadIcon("misc_16.png"), prefs_Miscellaneous);
15105 cbradney 135
                addItem( tr("Page Sizes"), loadIcon("16/page-simple.png"), prefs_PageSizes);
15176 cbradney 136
                addItem( tr("Plugins"), loadIcon("plugins_16.png"), prefs_Plugins);
137
                addItem( tr("Image Cache"), loadIcon("16/image-x-generic.png"), prefs_ImageCache);
15059 cbradney 138
        }
15108 cbradney 139
 
14656 cbradney 140
        arrangeIcons();
15059 cbradney 141
 
142
        //**********
143
 
14656 cbradney 144
        if (preferencesTypeList->count()>0)
145
        {
146
                preferencesTypeList->item(0)->setSelected(true);
147
                itemSelected(preferencesTypeList->item(0));
148
        }
149
 
15124 cbradney 150
        connect(prefs_DocumentSetup, SIGNAL(changeToOtherSection(const QString&)), this, SLOT(setNewItemSelected(const QString&)));
14656 cbradney 151
        connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
152
        connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
153
        connect(applyButton, SIGNAL(clicked()), this, SLOT(applyButtonClicked()));
154
        connect(preferencesTypeList, SIGNAL(itemSelectionChanged()), this, SLOT(newItemSelected()));
155
 
14991 cbradney 156
        localPrefs=prefsData;
14656 cbradney 157
        initPreferenceValues();
158
        setupGui();
15059 cbradney 159
        if (!doc)
160
                addPlugins();
14656 cbradney 161
}
162
 
163
 
164
PreferencesDialog::~PreferencesDialog()
165
{
166
}
167
 
168
void PreferencesDialog::restoreDefaults()
169
{
170
        prefsManager->initDefaults();
171
        setupGui();
172
}
173
 
174
void PreferencesDialog::initPreferenceValues()
175
{
176
        prefsManager=PrefsManager::instance();
177
        mainWin = (ScribusMainWindow*)parent();
178
        docUnitIndex = localPrefs.docSetupPrefs.docUnitIndex;
179
        unitRatio = unitGetRatioFromIndex(docUnitIndex);
180
}
181
 
182
void PreferencesDialog::setupGui()
183
{
15108 cbradney 184
        if (prefs_UserInterface) prefs_UserInterface->restoreDefaults(&localPrefs);
185
        if (prefs_Paths) prefs_Paths->restoreDefaults(&localPrefs);
186
        if (prefs_DocumentSetup) prefs_DocumentSetup->restoreDefaults(&localPrefs);
187
        if (prefs_DocumentInformation) prefs_DocumentInformation->restoreDefaults(&localPrefs);
188
        if (prefs_Guides) prefs_Guides->restoreDefaults(&localPrefs);
189
        if (prefs_Typography) prefs_Typography->restoreDefaults(&localPrefs);
190
        if (prefs_ItemTools) prefs_ItemTools->restoreDefaults(&localPrefs);
191
        if (prefs_OperatorTools) prefs_OperatorTools->restoreDefaults(&localPrefs);
192
        if (prefs_Hyphenator) prefs_Hyphenator->restoreDefaults(&localPrefs);
193
        if (prefs_Fonts) prefs_Fonts->restoreDefaults(&localPrefs);
194
        if (prefs_Printer) prefs_Printer->restoreDefaults(&localPrefs);
195
        if (prefs_PDFExport) prefs_PDFExport->restoreDefaults(&localPrefs, ScCore->PDFXProfiles);
196
        if (prefs_PreflightVerifier) prefs_PreflightVerifier->restoreDefaults(&localPrefs);
197
        if (prefs_DocumentItemAttributes) prefs_DocumentItemAttributes->restoreDefaults(&localPrefs);
198
        if (prefs_TableOfContents) prefs_TableOfContents->restoreDefaults(&localPrefs);
199
        if (prefs_DocumentSections) prefs_DocumentSections->restoreDefaults(&localPrefs);
200
        if (prefs_KeyboardShortcuts) prefs_KeyboardShortcuts->restoreDefaults(&localPrefs);
201
        if (prefs_ColorManagement)
202
        {
203
                prefs_ColorManagement->restoreDefaults(&localPrefs);
204
                prefs_ColorManagement->setProfiles(&localPrefs, &ScCore->InputProfiles, &ScCore->InputProfilesCMYK, &ScCore->PrinterProfiles, &ScCore->MonitorProfiles);
205
        }
206
        if (prefs_Scrapbook) prefs_Scrapbook->restoreDefaults(&localPrefs);
207
        if (prefs_Display) prefs_Display->restoreDefaults(&localPrefs);
208
        if (prefs_ExternalTools) prefs_ExternalTools->restoreDefaults(&localPrefs);
209
        if (prefs_Plugins) prefs_Plugins->restoreDefaults(&localPrefs);
210
        if (prefs_Miscellaneous) prefs_Miscellaneous->restoreDefaults(&localPrefs);
211
        if (prefs_PageSizes) prefs_PageSizes->restoreDefaults(&localPrefs);
212
        if (prefs_ImageCache) prefs_ImageCache->restoreDefaults(&localPrefs);
14656 cbradney 213
}
214
 
215
 
216
void PreferencesDialog::saveGuiToPrefs()
217
{
15108 cbradney 218
        if (prefs_UserInterface) prefs_UserInterface->saveGuiToPrefs(&localPrefs);
219
        if (prefs_Paths) prefs_Paths->saveGuiToPrefs(&localPrefs);
220
        if (prefs_DocumentSetup) prefs_DocumentSetup->saveGuiToPrefs(&localPrefs);
221
        if (prefs_DocumentInformation) prefs_DocumentInformation->saveGuiToPrefs(&localPrefs);
222
        if (prefs_Guides) prefs_Guides->saveGuiToPrefs(&localPrefs);
223
        if (prefs_Typography) prefs_Typography->saveGuiToPrefs(&localPrefs);
224
        if (prefs_ItemTools) prefs_ItemTools->saveGuiToPrefs(&localPrefs);
225
        if (prefs_OperatorTools) prefs_OperatorTools->saveGuiToPrefs(&localPrefs);
226
        if (prefs_Hyphenator) prefs_Hyphenator->saveGuiToPrefs(&localPrefs);
227
        if (prefs_Fonts) prefs_Fonts->saveGuiToPrefs(&localPrefs);
228
        if (prefs_Printer) prefs_Printer->saveGuiToPrefs(&localPrefs);
229
        if (prefs_PDFExport) prefs_PDFExport->saveGuiToPrefs(&localPrefs);
230
        if (prefs_PreflightVerifier) prefs_PreflightVerifier->saveGuiToPrefs(&localPrefs);
231
        if (prefs_DocumentItemAttributes) prefs_DocumentItemAttributes->saveGuiToPrefs(&localPrefs);
232
        if (prefs_TableOfContents) prefs_TableOfContents->saveGuiToPrefs(&localPrefs);
233
        if (prefs_DocumentSections) prefs_DocumentSections->saveGuiToPrefs(&localPrefs);
15117 cbradney 234
        if (prefs_KeyboardShortcuts) prefs_KeyboardShortcuts->saveGuiToPrefs(&localPrefs);
235
        if (prefs_ColorManagement) prefs_ColorManagement->saveGuiToPrefs(&localPrefs);
15108 cbradney 236
        if (prefs_Scrapbook) prefs_Scrapbook->saveGuiToPrefs(&localPrefs);
237
        if (prefs_Display) prefs_Display->saveGuiToPrefs(&localPrefs);
238
        if (prefs_ExternalTools) prefs_ExternalTools->saveGuiToPrefs(&localPrefs);
239
        if (prefs_Plugins) prefs_Plugins->saveGuiToPrefs(&localPrefs);
240
        if (prefs_Miscellaneous) prefs_Miscellaneous->saveGuiToPrefs(&localPrefs);
241
        if (prefs_PageSizes) prefs_PageSizes->saveGuiToPrefs(&localPrefs);
242
        if (prefs_ImageCache) prefs_ImageCache->saveGuiToPrefs(&localPrefs);
14656 cbradney 243
}
244
 
245
void PreferencesDialog::applyButtonClicked()
246
{
247
        Prefs_Pane* pp=qobject_cast<Prefs_Pane *>(prefsStackWidget->currentWidget());
248
        if (pp)
249
                pp->saveGuiToPrefs(&localPrefs);
250
}
251
 
252
void PreferencesDialog::accept()
253
{
254
        saveGuiToPrefs();
255
        emit accepted();
256
        return QDialog::accept();
257
}
258
 
259
void PreferencesDialog::setupListWidget()
260
{
261
        preferencesTypeList->setDragEnabled(false);
262
        preferencesTypeList->setViewMode(QListView::ListMode);
263
        preferencesTypeList->setFlow(QListView::TopToBottom);
264
        preferencesTypeList->setIconSize(QSize(32,32));
265
        preferencesTypeList->setSortingEnabled(false);
266
        preferencesTypeList->setWrapping(false);
267
        preferencesTypeList->setWordWrap(true);
268
        preferencesTypeList->setAcceptDrops(false);
269
        preferencesTypeList->setDropIndicatorShown(false);
270
        preferencesTypeList->setDragDropMode(QAbstractItemView::NoDragDrop);
271
        //preferencesTypeList->setResizeMode(QListView::Adjust);
272
        preferencesTypeList->setSelectionMode(QAbstractItemView::SingleSelection);
273
        preferencesTypeList->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
274
        preferencesTypeList->clear();
275
}
276
 
277
int PreferencesDialog::addItem(QString name, QPixmap icon, QWidget* tab)
278
{
279
        //TODO: Can we avoid using this name and duplicating strings by getting it from the tab UIs
280
        QListWidgetItem* newItem = new QListWidgetItem(icon, name, preferencesTypeList);
15123 cbradney 281
        newItem->setTextAlignment(Qt::AlignLeft);
14656 cbradney 282
        prefsStackWidget->addWidget(tab);
283
        stackWidgetMap.insert(newItem, counter);
284
        counter++;
285
        return counter-1;
286
}
287
 
288
void PreferencesDialog::newItemSelected()
289
{
290
        QList<QListWidgetItem*> items = preferencesTypeList->selectedItems();
291
        itemSelected((items.count() > 0) ? items.at(0) : NULL);
292
}
293
 
294
void PreferencesDialog::itemSelected(QListWidgetItem* ic)
295
{
296
        if (ic == 0)
297
                return;
298
        if (stackWidgetMap.contains(ic))
299
        {
300
                //emit aboutToShow(prefsWidgets->widget(itemMap[ic]));
301
                prefsStackWidget->setCurrentIndex(stackWidgetMap[ic]);
15105 cbradney 302
                if (prefsStackWidget->currentWidget()==dynamic_cast<QWidget*>(prefs_DocumentSetup))
303
                        prefs_DocumentSetup->setupPageSizes(&localPrefs);
14656 cbradney 304
                if (prefsStackWidget->currentWidget()==dynamic_cast<QWidget*>(prefs_ItemTools))
305
                        prefs_ItemTools->enableFontPreview(true);
306
                if (prefsStackWidget->currentWidget()==dynamic_cast<QWidget*>(prefs_TableOfContents))
307
                        prefs_TableOfContents->setupItemAttrs( prefs_DocumentItemAttributes->getDocAttributesNames() );
14745 cbradney 308
                if (prefsStackWidget->currentWidget()==dynamic_cast<QWidget*>(prefs_PDFExport))
309
                        prefs_PDFExport->enableCMS(prefs_ColorManagement->cmActive());
14656 cbradney 310
        }
311
}
312
 
15105 cbradney 313
void PreferencesDialog::setNewItemSelected(const QString &s)
314
{
315
        if (s=="Prefs_PageSizes" && prefs_PageSizes!=NULL)
316
        {
317
                int i=prefsStackWidget->indexOf(prefs_PageSizes);
318
                if (i!=-1)
319
                        preferencesTypeList->setCurrentRow(i);
320
        }
321
}
322
 
14656 cbradney 323
void PreferencesDialog::changeEvent(QEvent *e)
324
{
325
        if (e->type() == QEvent::LanguageChange)
326
        {
327
                languageChange();
328
        }
329
        else
330
                QWidget::changeEvent(e);
331
}
332
 
333
void PreferencesDialog::languageChange()
334
{
335
        setWindowTitle( tr( "Preferences" ) );
336
}
337
 
338
void PreferencesDialog::addPlugins()
339
{
340
        // Scan for plugins that provide a prefs widget, and add it to the
341
        // prefs dialog.
342
        // For each plugin, enabled or not:
343
        ScPlugin* plugin = 0;
14657 cbradney 344
        Prefs_Pane* panel = 0;
14656 cbradney 345
        QString panelCaption;
346
        QPixmap panelIcon;
347
 
348
        PluginManager& pluginManager = PluginManager::instance();
349
        QStringList pluginNames(pluginManager.pluginNames(true));
350
 
351
        foreach (QString pName, pluginManager.pluginNames(true))
352
        {
353
                // Ask the plugin manager for a plugin (skipping disabled plugins).
354
                plugin = pluginManager.getPlugin(pName, false);
355
                // If we got a plugin (which we know is enabled):
356
                if (plugin)
357
                {
358
                        // Ask the plugin for a prefs widget
359
                        bool wantPanel = plugin->newPrefsPanelWidget(prefsStackWidget, panel, panelCaption, panelIcon);
360
                        // If it gave us one...
361
                        if (wantPanel)
362
                        {
363
                                // Ensure that we got sane return values
364
                                Q_ASSERT(panel);
365
                                Q_ASSERT(!panelIcon.isNull());
366
                                Q_ASSERT(!panelCaption.isNull());
367
                                // plug it in to the dialog,
368
                                addItem(panelCaption, panelIcon, panel);
369
                                // and connect a signal to tell it to save its
370
                                // settings.
371
                                connect(this, SIGNAL(accepted()), panel, SLOT(apply()));
372
                        }
373
                }
374
        }
375
}
376
 
15096 cbradney 377
void PreferencesDialog::getResizeDocumentPages(bool &resizePages, bool &resizeMasterPages, bool &resizePageMargins, bool &resizeMasterPageMargins)
378
{
379
        prefs_DocumentSetup->getResizeDocumentPages(resizePages, resizeMasterPages, resizePageMargins, resizeMasterPageMargins);
380
}
381
 
382
 
14656 cbradney 383
void PreferencesDialog::arrangeIcons()
384
{/*
385
        int maxWidth = 0;
386
        QListWidgetItem* ic;
387
        int startY = 5;
388
        for (int cc = 0; cc < preferencesTypeList->count(); ++cc)
389
        {
390
                ic = preferencesTypeList->item(cc);
391
                QRect ir = preferencesTypeList->visualItemRect(ic);
392
                maxWidth = qMax(ir.width(), maxWidth);
393
        }
394
        preferencesTypeList->setMaximumWidth(maxWidth+16);
395
        preferencesTypeList->setResizeMode(QListView::Fixed);
396
#ifdef _WIN32
397
        int scrollBarWidth = 0;
398
        QList<QScrollBar*> scrollBars = preferencesTypeList->findChildren<QScrollBar*>();
399
        for (int cc = 0; cc < scrollBars.count(); ++cc)
400
        {
401
                if (scrollBars.at(cc)->orientation() == Qt::Vertical)
402
                {
403
                        scrollBarWidth = scrollBars.at(cc)->height();
404
                        break;
405
                }
406
        }
407
#else
408
        int scrollBarWidth = maxWidth;
409
#endif
410
        int startX = qMax((preferencesTypeList->viewport()->width() - scrollBarWidth) / 2, 0);
411
        for (int cc = 0; cc < preferencesTypeList->count(); ++cc)
412
        {
413
                ic = preferencesTypeList->item(cc);
414
                QRect ir = preferencesTypeList->visualItemRect(ic);
415
 
416
#ifdef _WIN32
417
                preferencesTypeList->setPositionForIndex(QPoint(qMax(startX - ir.width() / 2, 0), startY), preferencesTypeList->indexFromItem(ic));
418
#else
419
                int moveW = (maxWidth - ir.width()) / 2;
420
                preferencesTypeList->setPositionForIndex(QPoint(moveW + startX, startY), preferencesTypeList->indexFromItem(ic));
421
#endif
422
 
423
                startY += ir.height()+5;
424
        }*/
425
}
426
 
427
 
428