r17383 by fschmid - Replaced the QToolBox widget of the properties palette with the ScTreeWidget (already used in the text tab)
scribus-commit
scribus-commit at lists.scribus.net
Sat Mar 17 13:00:37 UTC 2012
Author: fschmid
Date: Sat Mar 17 13:00:37 2012
New Revision: 17383
URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=17383
Log:
Replaced the QToolBox widget of the properties palette with the ScTreeWidget (already used in the text tab)
Modified:
trunk/Scribus/scribus/ui/propertiespalette.cpp
trunk/Scribus/scribus/ui/propertiespalette.h
trunk/Scribus/scribus/ui/propertiespalette_group.cpp
trunk/Scribus/scribus/ui/propertiespalette_image.cpp
trunk/Scribus/scribus/ui/propertiespalette_line.cpp
trunk/Scribus/scribus/ui/propertiespalette_shape.cpp
trunk/Scribus/scribus/ui/propertiespalette_table.cpp
trunk/Scribus/scribus/ui/propertiespalette_text.cpp
trunk/Scribus/scribus/ui/propertiespalette_xyz.cpp
trunk/Scribus/scribus/ui/sctreewidget.cpp
trunk/Scribus/scribus/ui/sctreewidget.h
Modified: trunk/Scribus/scribus/ui/propertiespalette.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette.cpp (original)
+++ trunk/Scribus/scribus/ui/propertiespalette.cpp Sat Mar 17 13:00:37 2012
@@ -80,112 +80,39 @@
setObjectName(QString::fromLocal8Bit("PropertiesPalette"));
setSizePolicy( QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
-// MpalLayout = new QVBoxLayout();
-// MpalLayout->setMargin(5);
-// MpalLayout->setSpacing(1);
-// setLayout(MpalLayout);
-
QFont f(font());
f.setPointSize(f.pointSize()-1);
setFont(f);
- TabStack = new QToolBox( this );
-
- page = new QWidget( TabStack );
-
- pageLayout = new QVBoxLayout( page );
- pageLayout->setMargin(0);
- pageLayout->setSpacing(5);
-
- xyzPal = new PropertiesPalette_XYZ( page );
- pageLayout->addWidget( xyzPal );
-
- QSpacerItem* spacer13 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
- pageLayout->addItem( spacer13 );
- idXYZItem = TabStack->addItem( page, "X, Y, &Z" );
-
- page_2 = new QWidget( TabStack );
- pageLayout_2 = new QVBoxLayout( page_2 );
- pageLayout_2->setSpacing( 5 );
- pageLayout_2->setMargin( 0 );
-
- shapePal = new PropertiesPalette_Shape( page_2 );
- pageLayout_2->addWidget( shapePal );
-
- QSpacerItem* spacer6 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
- pageLayout_2->addItem( spacer6 );
- idShapeItem = TabStack->addItem( page_2, "&Shape" );
-
- page_group = new QWidget(TabStack);
- page_group_layout = new QVBoxLayout( page_group );
- page_group_layout->setSpacing( 5 );
- page_group_layout->setMargin( 0 );
-
- groupPal = new PropertiesPalette_Group( page_group );
- page_group_layout->addWidget( groupPal );
-
- QSpacerItem* spacerTr2 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
- page_group_layout->addItem( spacerTr2 );
- idGroupItem = TabStack->addItem(page_group, "Groups");
-
- page_3 = new QWidget( TabStack );
- pageLayout_3 = new QVBoxLayout( page_3 );
- pageLayout_3->setSpacing( 5 );
- pageLayout_3->setMargin( 0 );
- pageLayout_3->setAlignment( Qt::AlignLeft );
-
- textPal = new PropertiesPalette_Text( page_group );
- pageLayout_3->addWidget( textPal );
-
- idTextItem = TabStack->addItem( page_3, "&Text" );
-
- page_4 = new QWidget( TabStack );
- pageLayout_4 = new QVBoxLayout( page_4 );
- pageLayout_4->setSpacing( 5 );
- pageLayout_4->setMargin( 0 );
-
- imagePal = new PropertiesPalette_Image(page_4);
- pageLayout_4->addWidget(imagePal);
-
- QSpacerItem* spacer9 = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
- pageLayout_4->addItem( spacer9 );
- idImageItem=TabStack->addItem( page_4, "&Image" );
-
- page_5 = new QWidget( TabStack );
- pageLayout_5 = new QVBoxLayout( page_5 );
- pageLayout_5->setSpacing( 5 );
- pageLayout_5->setMargin( 0 );
-
- linePal = new PropertiesPalette_Line(page_5);
- pageLayout_5->addWidget(linePal);
-
- idLineItem=TabStack->addItem( page_5, "&Line" );
-
- page_6 = new QWidget( TabStack );
- pageLayout_6 = new QVBoxLayout( page_6 );
- pageLayout_6->setSpacing( 5 );
- pageLayout_6->setMargin( 0 );
- Cpal = new Cpalette(page_6);
- pageLayout_6->addWidget( Cpal );
- idColorsItem = TabStack->addItem(page_6, "&Colors" );
-
- page_7 = new QWidget( TabStack );
- pageLayout_7 = new QVBoxLayout( page_7 );
- pageLayout_7->setSpacing( 5 );
- pageLayout_7->setMargin( 0 );
- Tpal = new Tpalette(page_7);
- pageLayout_7->addWidget( Tpal );
- idTransparencyItem = TabStack->addItem(page_7, "&Transparency" );
-
- page_8 = new QWidget(TabStack);
- pageLayout_8 = new QVBoxLayout(page_8);
- pageLayout_8->setSpacing(5);
- pageLayout_8->setMargin(0);
- tablePal = new PropertiesPalette_Table(page_8);
- pageLayout_8->addWidget(tablePal);
- idTableItem = TabStack->addItem(page_8, "T&able" );
-
-// MpalLayout->addWidget( TabStack );
+ TabStack = new ScTreeWidget( this );
+ TabStack->setToolBoxMode(true);
+
+ xyzPal = new PropertiesPalette_XYZ( this );
+ idXYZItem = TabStack->addItem( xyzPal, "X, Y, &Z" );
+
+ shapePal = new PropertiesPalette_Shape( this );
+ idShapeItem = TabStack->addItem( shapePal, "&Shape" );
+
+ groupPal = new PropertiesPalette_Group( this );
+ idGroupItem = TabStack->addItem(groupPal, "Groups");
+
+ textPal = new PropertiesPalette_Text( this );
+ idTextItem = TabStack->addItem( textPal, "&Text" );
+
+ imagePal = new PropertiesPalette_Image(this);
+ idImageItem=TabStack->addItem( imagePal, "&Image" );
+
+ linePal = new PropertiesPalette_Line(this);
+ idLineItem=TabStack->addItem( linePal, "&Line" );
+
+ Cpal = new Cpalette(this);
+ idColorsItem = TabStack->addItem(Cpal, "&Colors" );
+
+ Tpal = new Tpalette(this);
+ idTransparencyItem = TabStack->addItem(Tpal, "&Transparency" );
+
+ tablePal = new PropertiesPalette_Table(this);
+ idTableItem = TabStack->addItem(tablePal, "T&able" );
setWidget( TabStack );
Modified: trunk/Scribus/scribus/ui/propertiespalette.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette.h
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette.h (original)
+++ trunk/Scribus/scribus/ui/propertiespalette.h Sat Mar 17 13:00:37 2012
@@ -116,30 +116,7 @@
protected:
ScribusMainWindow *m_ScMW;
-
- QVBoxLayout* MpalLayout;
- QVBoxLayout* pageLayout;
- QVBoxLayout* pageLayout_2;
- QVBoxLayout* pageLayout_3;
- QVBoxLayout* pageLayout_4;
- QVBoxLayout* pageLayout_5;
- QVBoxLayout* pageLayout_6;
- QVBoxLayout* pageLayout_7;
- QVBoxLayout* pageLayout_8;
-
- QVBoxLayout* page_group_layout;
-
- QWidget* page;
- QWidget* page_2;
- QWidget* page_3;
- QWidget* page_4;
- QWidget* page_5;
- QWidget* page_6;
- QWidget* page_7;
- QWidget* page_8;
- QWidget* page_group;
-
- QToolBox* TabStack;
+ ScTreeWidget* TabStack;
bool m_haveDoc;
bool m_haveItem;
Modified: trunk/Scribus/scribus/ui/propertiespalette_group.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette_group.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_group.cpp (original)
+++ trunk/Scribus/scribus/ui/propertiespalette_group.cpp Sat Mar 17 13:00:37 2012
@@ -77,6 +77,7 @@
m_tmpSelection->clear();
setupUi(this);
+ setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
textFlowDisabled->setIcon(QIcon(loadIcon("flow-none.png")));
textFlowUsesFrameShape->setIcon(QIcon(loadIcon("flow-frame.png")));
Modified: trunk/Scribus/scribus/ui/propertiespalette_image.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette_image.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_image.cpp (original)
+++ trunk/Scribus/scribus/ui/propertiespalette_image.cpp Sat Mar 17 13:00:37 2012
@@ -42,7 +42,7 @@
connect(userActionSniffer, SIGNAL(actionEnd()), this, SLOT(spinboxFinishUserAction()));
setupUi(this);
- setSizePolicy( QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
+ setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
imagePageNumber->setMinimum(0);
imagePageNumber->setSpecialValueText(tr( "Auto" ));
Modified: trunk/Scribus/scribus/ui/propertiespalette_line.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette_line.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_line.cpp (original)
+++ trunk/Scribus/scribus/ui/propertiespalette_line.cpp Sat Mar 17 13:00:37 2012
@@ -43,7 +43,7 @@
m_unitRatio = 1.0;
setupUi(this);
- setSizePolicy( QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
+ setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
lineType->addItem( tr("Custom"));
Modified: trunk/Scribus/scribus/ui/propertiespalette_shape.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette_shape.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_shape.cpp (original)
+++ trunk/Scribus/scribus/ui/propertiespalette_shape.cpp Sat Mar 17 13:00:37 2012
@@ -48,7 +48,7 @@
m_tmpSelection->clear();
setupUi(this);
- setSizePolicy( QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
+ setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
roundRectLabel->setBuddy(roundRect);
Modified: trunk/Scribus/scribus/ui/propertiespalette_table.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette_table.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_table.cpp (original)
+++ trunk/Scribus/scribus/ui/propertiespalette_table.cpp Sat Mar 17 13:00:37 2012
@@ -29,6 +29,7 @@
m_mainWindow(0), m_doc(0), m_item(0), m_previousItem(0)
{
setupUi(this);
+ setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
addBorderLineButton->setIcon(QIcon(loadIcon("penciladd.png")));
removeBorderLineButton->setIcon(QIcon(loadIcon("pencilsub.png")));
Modified: trunk/Scribus/scribus/ui/propertiespalette_text.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette_text.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_text.cpp (original)
+++ trunk/Scribus/scribus/ui/propertiespalette_text.cpp Sat Mar 17 13:00:37 2012
@@ -55,9 +55,9 @@
m_haveItem = false;
m_unitRatio = 1.0;
- setSizePolicy( QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
setupUi(this);
+ setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
fontSize->setPrefix( "" );
fontSizeLabel->setPixmap(loadIcon("Zeichen.xpm"));
@@ -69,7 +69,7 @@
charStyleClear->setIcon(loadIcon("16/edit-clear.png"));
colorWidgets = new PropertyWidget_TextColor(textTree);
- colorWidgetsItem = textTree->addWidget( tr("Color & Effects"), colorWidgets);
+ colorWidgetsItem = textTree->addWidget( tr("Color && Effects"), colorWidgets);
flopBox = new PropertyWidget_Flop(textTree);
flopItem = textTree->addWidget( tr("First Line Offset"), flopBox);
@@ -81,7 +81,7 @@
dropcapsItem = textTree->addWidget( tr("Drop Cap"), dropcapsBox);
distanceWidgets = new PropertyWidget_Distance(textTree);
- distanceItem = textTree->addWidget( tr("Columns & Text Distances"), distanceWidgets);
+ distanceItem = textTree->addWidget( tr("Columns && Text Distances"), distanceWidgets);
//<< Optical Margins
optMargins = new PropertyWidget_OptMargins(textTree);
@@ -1055,10 +1055,10 @@
paraStyleLabel->setText( tr("Paragraph St&yle:"));
charStyleLabel->setText( tr("Character St&yle:"));
- colorWidgetsItem->setText(0, tr("Color & Effects"));
+ colorWidgetsItem->setText(0, tr("Color && Effects"));
advancedWidgetsItem->setText(0, tr("Advanced Settings"));
flopItem->setText(0, tr("First Line Offset"));
- distanceItem->setText(0, tr("Columns & Text Distances"));
+ distanceItem->setText(0, tr("Columns && Text Distances"));
optMarginsItem->setText(0, tr("Optical Margins"));
orphanItem->setText(0, tr("Orphans and Widows"));
pathTextItem->setText(0, tr("Path Text Properties"));
Modified: trunk/Scribus/scribus/ui/propertiespalette_xyz.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/propertiespalette_xyz.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_xyz.cpp (original)
+++ trunk/Scribus/scribus/ui/propertiespalette_xyz.cpp Sat Mar 17 13:00:37 2012
@@ -51,7 +51,7 @@
m_unitRatio = 1.0;
setupUi(this);
- setSizePolicy( QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum));
+ setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
_userActionOn = false;
userActionSniffer = new UserActionSniffer(this);
Modified: trunk/Scribus/scribus/ui/sctreewidget.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/sctreewidget.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/sctreewidget.cpp (original)
+++ trunk/Scribus/scribus/ui/sctreewidget.cpp Sat Mar 17 13:00:37 2012
@@ -26,6 +26,7 @@
#include <QPainter>
#include <QHeaderView>
#include <QLayout>
+#include <QShortcutEvent>
#include "sctreewidget.h"
@@ -51,13 +52,12 @@
buttonOption.palette = option.palette;
buttonOption.features = QStyleOptionButton::None;
m_view->style()->drawControl(QStyle::CE_PushButton, &buttonOption, painter, m_view);
- QStyleOption branchOption;
static const int i = 9; // ### hardcoded in qcommonstyle.cpp
QRect r = option.rect;
painter->save();
painter->setBrush(Qt::black);
painter->setPen(Qt::NoPen);
- QRect rect = QRect(r.left()+5, r.top()+5, r.height()-10, r.height()-10);
+ QRect rect = QRect(r.left()+6, r.top()+6, r.height()-12, r.height()-12);
QPolygon pa(3);
if (m_view->isExpanded(index))
{
@@ -76,8 +76,8 @@
painter->restore();
// draw text
QRect textrect = QRect(r.left() + i*2, r.top(), r.width() - ((5*i)/2), r.height());
- QString text = elidedText(option.fontMetrics, textrect.width(), Qt::ElideMiddle, model->data(index, Qt::DisplayRole).toString());
- m_view->style()->drawItemText(painter, textrect, Qt::AlignCenter, option.palette, m_view->isEnabled(), text);
+ QString text = option.fontMetrics.elidedText(model->data(index, Qt::DisplayRole).toString(), Qt::ElideMiddle, textrect.width(), Qt::TextShowMnemonic);
+ m_view->style()->drawItemText(painter, textrect, Qt::AlignCenter | Qt::TextShowMnemonic, option.palette, (option.state & QStyle::State_Enabled), text, QPalette::Text);
}
else
QItemDelegate::paint(painter, option, index);
@@ -85,8 +85,7 @@
QSize ScTreeWidgetDelegate::sizeHint(const QStyleOptionViewItem &opt, const QModelIndex &index) const
{
- QStyleOptionViewItem option = opt;
- QSize sz = QItemDelegate::sizeHint(opt, index) + QSize(2, 2);
+ QSize sz = QItemDelegate::sizeHint(opt, index) + QSize(2, 6);
return sz;
}
@@ -100,7 +99,24 @@
header()->hide();
header()->setResizeMode(QHeaderView::Stretch);
viewport()->setBackgroundRole(QPalette::Window);
+ m_toolbox_mode = false;
connect(this, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(handleMousePress(QTreeWidgetItem*)));
+}
+
+bool ScTreeWidget::event(QEvent *e)
+{
+ if (e->type() == QEvent::Shortcut)
+ {
+ QShortcutEvent *se = static_cast<QShortcutEvent *>(e);
+ if (se != NULL)
+ {
+ int k = se->shortcutId();
+ QTreeWidgetItem *item1 = keySList.value(k);
+ handleMousePress(item1);
+ return true;
+ }
+ }
+ return QTreeWidget::event(e);
}
QTreeWidgetItem* ScTreeWidget::addWidget(QString title, QWidget* widget)
@@ -116,28 +132,140 @@
item2->setSizeHint(0, widget->layout()->minimumSize());
// end hack
setItemWidget(item2, 0, widget);
+ QKeySequence newMnemonic = QKeySequence::mnemonic(title);
+// grabShortcut(newMnemonic);
+ keySList.insert(grabShortcut(newMnemonic), item1);
return item1;
}
+void ScTreeWidget::setToolBoxMode(bool enable)
+{
+ m_toolbox_mode = enable;
+}
+
+int ScTreeWidget::addItem(QWidget* widget, QString title)
+{
+ QTreeWidgetItem *top = addWidget(title, widget);
+ return indexOfTopLevelItem(top);
+}
+
+QWidget* ScTreeWidget::widget(int index)
+{
+ if ((index < 0) || (index >= topLevelItemCount()))
+ return NULL;
+ QTreeWidgetItem *top = topLevelItem(index);
+ if (top->childCount() == 0)
+ return NULL;
+ QTreeWidgetItem *child = top->child(0);
+ return itemWidget(child, 0);
+}
+
+void ScTreeWidget::setItemEnabled(int index, bool enable)
+{
+ if ((index < 0) || (index >= topLevelItemCount()))
+ return;
+ if (enable)
+ topLevelItem(index)->setFlags(Qt::ItemIsEnabled);
+ else
+ topLevelItem(index)->setFlags(0);
+}
+
+bool ScTreeWidget::isItemEnabled(int index)
+{
+ if ((index < 0) || (index >= topLevelItemCount()))
+ return false;
+ return !topLevelItem(index)->isDisabled();
+}
+
+void ScTreeWidget::setCurrentIndex(int index)
+{
+ if ((index < 0) || (index >= topLevelItemCount()))
+ return;
+ int tops = topLevelItemCount();
+ for (int t = 0; t < tops; t++)
+ {
+ setItemExpanded(topLevelItem(t), false);
+ }
+ QTreeWidgetItem *top = topLevelItem(index);
+ setCurrentItem(top);
+ setItemExpanded(top, true);
+ int wide = 0;
+ if (top->childCount() != 0)
+ {
+ QTreeWidgetItem *child = top->child(0);
+ if (child != 0)
+ wide = itemWidget(child, 0)->minimumSizeHint().width()+5;
+ }
+ if (wide != 0)
+ setColumnWidth(0, wide);
+ else
+ resizeColumnToContents(0);
+}
+
+int ScTreeWidget::currentIndex()
+{
+ int index = -1;
+ QTreeWidgetItem* item = currentItem();
+ if (item->parent() == 0)
+ index = indexOfTopLevelItem(item);
+ else
+ index = indexOfTopLevelItem(item->parent());
+ return index;
+}
+
+void ScTreeWidget::setItemText(int index, QString text)
+{
+ if ((index < 0) || (index >= topLevelItemCount()))
+ return;
+ topLevelItem(index)->setText(0, text);
+}
+
void ScTreeWidget::handleMousePress(QTreeWidgetItem *item)
{
if (item == 0)
return;
if (item->parent() == 0)
{
- setItemExpanded(item, !isItemExpanded(item));
+ if (item->isDisabled())
+ {
+ setItemExpanded(item, false);
+ return;
+ }
+ int wide = 0;
int tops = topLevelItemCount();
- int wide = 0;
- for (int t = 0; t < tops; t++)
- {
- QTreeWidgetItem *top = topLevelItem(t);
- if (isItemExpanded(top))
+ if (m_toolbox_mode)
+ {
+ for (int t = 0; t < tops; t++)
{
- if (top->childCount() != 0)
+ setItemExpanded(topLevelItem(t), false);
+ }
+ setCurrentItem(item);
+ setItemExpanded(item, true);
+ if (item->childCount() != 0)
+ {
+ QTreeWidgetItem *child = item->child(0);
+ if (child != 0)
+ wide = itemWidget(child, 0)->minimumSizeHint().width()+5;
+ }
+ if (wide != 0)
+ setColumnWidth(0, wide);
+ else
+ resizeColumnToContents(0);
+ }
+ else
+ {
+ setItemExpanded(item, !isItemExpanded(item));
+ for (int t = 0; t < tops; t++)
+ {
+ QTreeWidgetItem *top = topLevelItem(t);
+ if (isItemExpanded(top))
{
- QTreeWidgetItem *child = top->child(0);
- if (child != 0)
- wide = qMax(wide, itemWidget(child, 0)->minimumSizeHint().width()+5);
+ if (top->childCount() != 0)
+ {
+ QTreeWidgetItem *child = top->child(0);
+ if (child != 0)
+ wide = qMax(wide, itemWidget(child, 0)->minimumSizeHint().width()+5);
+ }
}
}
}
@@ -145,6 +273,6 @@
setColumnWidth(0, wide);
else
resizeColumnToContents(0);
- return;
- }
-}
+ emit currentChanged(indexOfTopLevelItem(item));
+ }
+}
Modified: trunk/Scribus/scribus/ui/sctreewidget.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17383&path=/trunk/Scribus/scribus/ui/sctreewidget.h
==============================================================================
--- trunk/Scribus/scribus/ui/sctreewidget.h (original)
+++ trunk/Scribus/scribus/ui/sctreewidget.h Sat Mar 17 13:00:37 2012
@@ -28,6 +28,8 @@
#include <QTreeWidget>
#include <QString>
#include <QWidget>
+#include <QHash>
+#include <QEvent>
#include "scribusapi.h"
class SCRIBUS_API ScTreeWidgetDelegate : public QItemDelegate
@@ -50,7 +52,22 @@
ScTreeWidget(QWidget* pa);
~ScTreeWidget() {};
QTreeWidgetItem* addWidget(QString title, QWidget* widget);
+ void setToolBoxMode(bool enable);
+ int addItem(QWidget* widget, QString title);
+ QWidget* widget(int index);
+ void setItemEnabled(int index, bool enable);
+ bool isItemEnabled(int index);
+ void setCurrentIndex(int index);
+ int currentIndex();
+ void setItemText(int index, QString text);
private slots:
void handleMousePress(QTreeWidgetItem *item);
+signals:
+ void currentChanged(int);
+private:
+ bool m_toolbox_mode;
+ QHash<int, QTreeWidgetItem*> keySList;
+protected:
+ bool event(QEvent *e);
};
#endif
More information about the scribus-commit
mailing list