[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi
From: Jarosław Staniek <staniek () kde ! org>
Date: 2010-09-13 20:45:22
Message-ID: 20100913204522.77C0CAC888 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1174999 by staniek:
Forms
*Widgets Tree:
**select tab widget instead when clicking tab items
**tab icon added for tab items
M +28 -5 formeditor/WidgetTreeWidget.cpp
M +3 -1 formeditor/WidgetTreeWidget.h
AM pics/hi16-action-tabwidget-tab.png
AM pics/hi22-action-tabwidget-tab.png
--- trunk/koffice/kexi/formeditor/WidgetTreeWidget.cpp #1174998:1174999
@@ -82,7 +82,7 @@
m_customSortingKey = QString("tab%1").arg(tabIndex);
itemFlags |= Qt::ItemIsSelectable;
itemFlags ^= Qt::ItemIsSelectable;
- //TODO itemIcon = ...
+ itemIcon = "tabwidget-tab";
}
}
}
@@ -345,6 +345,17 @@
blockSignals(false);
}
+void WidgetTreeWidget::selectWidgetForItem(QTreeWidgetItem *item)
+{
+ WidgetTreeWidgetItem *it = dynamic_cast<WidgetTreeWidgetItem*>(item);
+ if (!it)
+ return;
+ QWidget *w = it->data()->widget();
+ if (w && !m_form->selectedWidgets()->contains(w)) {
+ m_form->selectWidget(w, Form::AddToPreviousSelection | Form::DontRaise | \
Form::LastSelection); + }
+}
+
void WidgetTreeWidget::slotSelectionChanged()
{
if (!m_form || !m_slotSelectionChanged_enabled)
@@ -353,12 +364,24 @@
const QList<QTreeWidgetItem*> list( selectedItems() );
m_form->selectFormWidget();
foreach(QTreeWidgetItem *item, list) {
- WidgetTreeWidgetItem *it = static_cast<WidgetTreeWidgetItem*>(item);
- QWidget *w = it->data()->widget();
- if (w && !m_form->selectedWidgets()->contains(w)) {
- m_form->selectWidget(w, Form::AddToPreviousSelection | Form::DontRaise | \
Form::LastSelection); + selectWidgetForItem(item);
}
+ // alter selection of the item is nonselectable item clicked and parent item is \
available + if ( currentItem()
+ && !(currentItem()->flags() & Qt::ItemIsSelectable)
+ && currentItem()->parent()
+ && (currentItem()->parent()->flags() & Qt::ItemIsSelectable)
+ )
+ {
+ m_slotSelectionChanged_enabled = false;
+ foreach (QTreeWidgetItem *selectedItem, selectedItems()) {
+ selectedItem->setSelected(false);
}
+ selectWidgetForItem(currentItem()->parent());
+ setCurrentItem(currentItem()->parent());
+ currentItem()->setSelected(true);
+ m_slotSelectionChanged_enabled = true;
+ }
if (hadFocus)
setFocus(); //restore focus
}
--- trunk/koffice/kexi/formeditor/WidgetTreeWidget.h #1174998:1174999
@@ -152,9 +152,11 @@
virtual void contextMenuEvent(QContextMenuEvent* e);
-private:
void handleContextMenuEvent(QContextMenuEvent* e);
+ void selectWidgetForItem(QTreeWidgetItem *item);
+
+private:
Form *m_form;
//2.0 WidgetTreeWidgetItem *m_topItem;
Options m_options;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic