2
// C++ Implementation: StyleDock
7
// Author: cbro <cbro@semperpax.com>, (C) 2009
9
// Copyright: See COPYING file that comes with this distribution
12
#include "StyleDock.h"
14
#include "MainWindow.h"
16
#include "Maps/MapDocument.h"
17
#include "Maps/MapFeature.h"
18
#include "PaintStyle/EditPaintStyle.h"
22
StyleDock::StyleDock(MainWindow* aParent)
23
: MDockAncestor(aParent), Main(aParent)
25
setMinimumSize(220,100);
26
setObjectName("StyleDock");
28
ui.setupUi(getWidget());
30
connect(ui.StyleList, SIGNAL(itemSelectionChanged()), this, SLOT(on_StyleList_itemSelectionChanged()));
31
connect(ui.StyleList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(on_StyleList_itemDoubleClicked(QListWidgetItem*)));
32
connect(ui.StyleList, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(on_StyleList_customContextMenuRequested(const QPoint &)));
37
StyleDock::~StyleDock()
41
void StyleDock::clearItems()
43
ui.StyleList->blockSignals(true);
44
ui.StyleList->clear();
45
ui.StyleList->blockSignals(false);
48
void StyleDock::addItem(QAction* a)
50
ui.StyleList->blockSignals(true);
52
QListWidgetItem* it = new QListWidgetItem(a->text());
53
it->setData(Qt::UserRole, qVariantFromValue((void *)a));
54
ui.StyleList->addItem(it);
55
if (a->data().toString() == M_PREFS->getDefaultStyle())
56
ui.StyleList->setCurrentItem(it);
58
ui.StyleList->blockSignals(false);
61
void StyleDock::setCurrent(QAction* a)
63
ui.StyleList->blockSignals(true);
65
for (int i=0; i < ui.StyleList->count(); i++) {
66
if (ui.StyleList->item(i)->data(Qt::UserRole).value<void *>() == a) {
67
ui.StyleList->setCurrentRow(i);
72
ui.StyleList->blockSignals(false);
75
void StyleDock::on_StyleList_itemSelectionChanged()
77
QListWidgetItem* item = ui.StyleList->currentItem();
78
QAction * a = (QAction *)item->data(Qt::UserRole).value<void *>();
82
void StyleDock::on_StyleList_itemDoubleClicked(QListWidgetItem* item)
87
void StyleDock::on_StyleList_customContextMenuRequested(const QPoint & pos)
92
void StyleDock::changeEvent(QEvent * event)
94
if (event->type() == QEvent::LanguageChange)
96
MDockAncestor::changeEvent(event);
99
void StyleDock::retranslateUi()
101
setWindowTitle(tr("Styles"));