Working changes on editor.
This commit is contained in:
parent
9156bd73a7
commit
5245c74c69
@ -28,6 +28,17 @@ ToolBarEditor::ToolBarEditor(QWidget *parent)
|
||||
// Create connections.
|
||||
connect(m_ui->m_btnInsertSeparator, SIGNAL(clicked()), this, SLOT(insertSeparator()));
|
||||
connect(m_ui->m_btnInsertSpacer, SIGNAL(clicked()), this, SLOT(insertSpacer()));
|
||||
|
||||
connect(m_ui->m_btnAddSelectedAction, SIGNAL(clicked()), this, SLOT(addSelectedAction()));
|
||||
connect(m_ui->m_btnDeleteAllActions, SIGNAL(clicked()), this, SLOT(deleteAllActions()));
|
||||
connect(m_ui->m_btnDeleteSelectedAction, SIGNAL(clicked()), this, SLOT(deleteSelectedAction()));
|
||||
connect(m_ui->m_btnMoveActionUp, SIGNAL(clicked()), this, SLOT(moveActionUp()));
|
||||
connect(m_ui->m_btnMoveActionDown, SIGNAL(clicked()), this, SLOT(moveActionDown()));
|
||||
|
||||
connect(m_ui->m_listAvailableActions, SIGNAL(itemSelectionChanged()),
|
||||
this, SLOT(updateActionsAvailability()));
|
||||
connect(m_ui->m_listActivatedActions, SIGNAL(itemSelectionChanged()),
|
||||
this, SLOT(updateActionsAvailability()));
|
||||
}
|
||||
|
||||
ToolBarEditor::~ToolBarEditor() {
|
||||
@ -85,6 +96,8 @@ void ToolBarEditor::loadFromToolBar(BaseToolBar *tool_bar) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateActionsAvailability();
|
||||
}
|
||||
|
||||
void ToolBarEditor::saveToolBar() {
|
||||
@ -97,6 +110,16 @@ void ToolBarEditor::saveToolBar() {
|
||||
m_toolBar->saveChangeableActions(action_names);
|
||||
}
|
||||
|
||||
void ToolBarEditor::updateActionsAvailability() {
|
||||
m_ui->m_btnDeleteAllActions->setEnabled(m_ui->m_listActivatedActions->count() > 0);
|
||||
m_ui->m_btnDeleteSelectedAction->setEnabled(m_ui->m_listActivatedActions->selectedItems().size() == 1);
|
||||
m_ui->m_btnMoveActionUp->setEnabled(m_ui->m_listActivatedActions->selectedItems().size() == 1 &&
|
||||
m_ui->m_listActivatedActions->currentRow() > 0);
|
||||
m_ui->m_btnMoveActionDown->setEnabled(m_ui->m_listActivatedActions->selectedItems().size() == 1 &&
|
||||
m_ui->m_listActivatedActions->currentRow() < m_ui->m_listActivatedActions->count() - 1);
|
||||
m_ui->m_btnAddSelectedAction->setEnabled(m_ui->m_listAvailableActions->selectedItems().size() > 0);
|
||||
}
|
||||
|
||||
void ToolBarEditor::insertSpacer() {
|
||||
int current_row = m_ui->m_listActivatedActions->currentRow();
|
||||
|
||||
@ -110,6 +133,8 @@ void ToolBarEditor::insertSpacer() {
|
||||
else {
|
||||
m_ui->m_listActivatedActions->addItem(item);
|
||||
}
|
||||
|
||||
updateActionsAvailability();
|
||||
}
|
||||
|
||||
void ToolBarEditor::insertSeparator() {
|
||||
@ -126,4 +151,62 @@ void ToolBarEditor::insertSeparator() {
|
||||
else {
|
||||
m_ui->m_listActivatedActions->addItem(item);
|
||||
}
|
||||
|
||||
updateActionsAvailability();
|
||||
}
|
||||
|
||||
void ToolBarEditor::moveActionDown() {
|
||||
QList<QListWidgetItem*> items = m_ui->m_listActivatedActions->selectedItems();
|
||||
|
||||
if (items.size() == 1 && m_ui->m_listActivatedActions->currentRow() < m_ui->m_listActivatedActions->count() - 1) {
|
||||
QListWidgetItem *selected_item = items.at(0);
|
||||
int row = m_ui->m_listActivatedActions->row(selected_item);
|
||||
|
||||
m_ui->m_listActivatedActions->takeItem(row++);
|
||||
m_ui->m_listActivatedActions->insertItem(row, selected_item);
|
||||
m_ui->m_listActivatedActions->setCurrentRow(row);
|
||||
}
|
||||
}
|
||||
|
||||
void ToolBarEditor::moveActionUp() {
|
||||
QList<QListWidgetItem*> items = m_ui->m_listActivatedActions->selectedItems();
|
||||
|
||||
if (items.size() == 1 && m_ui->m_listActivatedActions->currentRow() > 0) {
|
||||
QListWidgetItem *selected_item = items.at(0);
|
||||
int row = m_ui->m_listActivatedActions->row(selected_item);
|
||||
|
||||
m_ui->m_listActivatedActions->takeItem(row--);
|
||||
m_ui->m_listActivatedActions->insertItem(row, selected_item);
|
||||
m_ui->m_listActivatedActions->setCurrentRow(row);
|
||||
}
|
||||
}
|
||||
|
||||
void ToolBarEditor::addSelectedAction() {
|
||||
QList<QListWidgetItem*> items = m_ui->m_listAvailableActions->selectedItems();
|
||||
|
||||
if (items.size() == 1) {
|
||||
QListWidgetItem *selected_item = items.at(0);
|
||||
|
||||
m_ui->m_listActivatedActions->insertItem(
|
||||
m_ui->m_listActivatedActions->currentRow() + 1,
|
||||
m_ui->m_listAvailableActions->takeItem(m_ui->m_listAvailableActions->row(selected_item)));
|
||||
m_ui->m_listActivatedActions->setCurrentRow(m_ui->m_listActivatedActions->currentRow() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
void ToolBarEditor::deleteSelectedAction() {
|
||||
QList<QListWidgetItem*> items = m_ui->m_listActivatedActions->selectedItems();
|
||||
|
||||
if (items.size() == 1) {
|
||||
QListWidgetItem *selected_item = items.at(0);
|
||||
|
||||
m_ui->m_listAvailableActions->insertItem(
|
||||
m_ui->m_listAvailableActions->currentRow() + 1,
|
||||
m_ui->m_listActivatedActions->takeItem(m_ui->m_listActivatedActions->row(selected_item)));
|
||||
m_ui->m_listAvailableActions->setCurrentRow(m_ui->m_listAvailableActions->currentRow() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
void ToolBarEditor::deleteAllActions() {
|
||||
|
||||
}
|
||||
|
@ -50,10 +50,19 @@ class ToolBarEditor : public QWidget {
|
||||
}
|
||||
|
||||
private slots:
|
||||
void updateActionsAvailability();
|
||||
|
||||
// Insert common controls.
|
||||
void insertSpacer();
|
||||
void insertSeparator();
|
||||
|
||||
void moveActionDown();
|
||||
void moveActionUp();
|
||||
|
||||
void addSelectedAction();
|
||||
void deleteSelectedAction();
|
||||
void deleteAllActions();
|
||||
|
||||
private:
|
||||
Ui::ToolBarEditor *m_ui;
|
||||
BaseToolBar *m_toolBar;
|
||||
|
@ -27,14 +27,14 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<widget class="QLabel" name="m_lblActivatedActions">
|
||||
<property name="text">
|
||||
<string>Activated actions</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="m_lblAvailableActions">
|
||||
<property name="text">
|
||||
<string>Available actions</string>
|
||||
</property>
|
||||
@ -48,18 +48,6 @@
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="showDropIndicator" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="dragEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="dragDropMode">
|
||||
<enum>QAbstractItemView::DragDrop</enum>
|
||||
</property>
|
||||
<property name="defaultDropAction">
|
||||
<enum>Qt::MoveAction</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
@ -76,6 +64,27 @@
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_btnMoveActionUp">
|
||||
<property name="text">
|
||||
<string>Move action up</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_btnMoveActionDown">
|
||||
<property name="text">
|
||||
<string>Move action down</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_btnInsertSeparator">
|
||||
<property name="text">
|
||||
@ -90,6 +99,34 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_btnAddSelectedAction">
|
||||
<property name="text">
|
||||
<string>Add selected action</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_btnDeleteSelectedAction">
|
||||
<property name="text">
|
||||
<string>Delete selected action</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_btnDeleteAllActions">
|
||||
<property name="text">
|
||||
<string>Delete all actions</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
@ -113,18 +150,6 @@
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="showDropIndicator" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="dragEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="dragDropMode">
|
||||
<enum>QAbstractItemView::DragDrop</enum>
|
||||
</property>
|
||||
<property name="defaultDropAction">
|
||||
<enum>Qt::MoveAction</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
|
Loading…
x
Reference in New Issue
Block a user