mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
1) Use arrow keys to navigate through the diagram editor. 2) Use PgUp, PgDn, Home and End keys to navigate through open folios. 3)Use Delete Key inside elements panel widget to delete diagrams. 4) Added a scroll area in auto numbering page.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4476 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
#include "ui/xrefpropertieswidget.h"
|
||||
#include "selectautonumw.h"
|
||||
#include "numerotationcontext.h"
|
||||
|
||||
#include "folioautonumbering.h"
|
||||
/**
|
||||
Constructor
|
||||
@param project Project this page is editing.
|
||||
@@ -141,7 +141,6 @@ void ProjectMainConfigPage::applyProjectConf() {
|
||||
project_ -> setProjectProperties(new_properties);
|
||||
modified_project = true;
|
||||
}
|
||||
|
||||
if (modified_project) {
|
||||
project_ -> setModified(true);
|
||||
}
|
||||
@@ -186,6 +185,8 @@ void ProjectMainConfigPage::initLayout() {
|
||||
main_layout0 -> addWidget(project_variables_label_);
|
||||
main_layout0 -> addWidget(project_variables_);
|
||||
setLayout(main_layout0);
|
||||
this -> setMinimumWidth(630);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -250,17 +251,44 @@ void ProjectAutoNumConfigPage::applyProjectConf() {}
|
||||
* Init some widget of this page
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::initWidgets() {
|
||||
m_label = new QLabel(tr("Numérotations disponibles :", "availables numerotations"), this);
|
||||
|
||||
m_context_cb = new QComboBox(this);
|
||||
tab_widget = new QTabWidget(this);
|
||||
tab_widget->setMinimumWidth(440);
|
||||
|
||||
//Conductor Tab
|
||||
conductor_tab_widget = new QWidget(this);
|
||||
|
||||
m_label = new QLabel(tr("Numérotations disponibles :", "availables numerotations"), conductor_tab_widget);
|
||||
|
||||
m_context_cb = new QComboBox(conductor_tab_widget);
|
||||
m_context_cb->setEditable(true);
|
||||
m_context_cb->lineEdit()->setClearButtonEnabled(true);
|
||||
m_context_cb->addItem(tr("Nom de la nouvelle numérotation"));
|
||||
|
||||
m_remove_pb = new QPushButton(QET::Icons::EditDelete, QString(), this);
|
||||
m_remove_pb = new QPushButton(QET::Icons::EditDelete, QString(), conductor_tab_widget);
|
||||
m_remove_pb -> setToolTip(tr("Supprimer la numérotation"));
|
||||
|
||||
m_saw = new SelectAutonumW(this);
|
||||
m_saw = new SelectAutonumW(conductor_tab_widget);
|
||||
|
||||
//Folio Tab
|
||||
folio_tab_widget = new QWidget(this);
|
||||
|
||||
m_label_2 = new QLabel(tr("Numérotations disponibles :", "availables numerotations"), folio_tab_widget);
|
||||
|
||||
m_context_cb_2 = new QComboBox(folio_tab_widget);
|
||||
m_context_cb_2->setEditable(true);
|
||||
m_context_cb_2->lineEdit()->setClearButtonEnabled(true);
|
||||
m_context_cb_2->addItem(tr("Nom de la nouvelle numérotation"));
|
||||
|
||||
m_remove_pb_2 = new QPushButton(QET::Icons::EditDelete, QString(), folio_tab_widget);
|
||||
m_remove_pb_2 -> setToolTip(tr("Supprimer la numérotation"));
|
||||
|
||||
m_saw_2 = new SelectAutonumW(folio_tab_widget);
|
||||
|
||||
/* //AutoNumbering Tab - Needs Further Testing
|
||||
autoNumbering_tab_widget = new QWidget(this);
|
||||
m_faw = new FolioAutonumberingW(project(),autoNumbering_tab_widget);
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -268,15 +296,40 @@ void ProjectAutoNumConfigPage::initWidgets() {
|
||||
* Init the layout of this page
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::initLayout() {
|
||||
QHBoxLayout *context_layout = new QHBoxLayout();
|
||||
//Conductor tab
|
||||
tab_widget->addTab(conductor_tab_widget, tr("Conductor"));
|
||||
|
||||
QHBoxLayout *context_layout = new QHBoxLayout();
|
||||
context_layout -> addWidget (m_label);
|
||||
context_layout -> addWidget (m_context_cb);
|
||||
context_layout -> addWidget (m_remove_pb);
|
||||
|
||||
QVBoxLayout *main_layout = new QVBoxLayout(this);
|
||||
this -> setLayout (main_layout);
|
||||
main_layout -> addLayout (context_layout);
|
||||
main_layout -> addWidget (m_saw);
|
||||
QVBoxLayout *main_layout = new QVBoxLayout();
|
||||
QVBoxLayout *aux_layout = new QVBoxLayout();
|
||||
aux_layout->addLayout(context_layout);
|
||||
aux_layout->addWidget(m_saw);
|
||||
|
||||
main_layout->addLayout(aux_layout);
|
||||
conductor_tab_widget -> setLayout (main_layout);
|
||||
|
||||
// Folio Tab
|
||||
tab_widget->addTab(folio_tab_widget, tr("Folio"));
|
||||
|
||||
QHBoxLayout *context_layout_2 = new QHBoxLayout();
|
||||
context_layout_2 -> addWidget (m_label_2);
|
||||
context_layout_2 -> addWidget (m_context_cb_2);
|
||||
context_layout_2 -> addWidget (m_remove_pb_2);
|
||||
|
||||
QVBoxLayout *main_layout_2 = new QVBoxLayout();
|
||||
QVBoxLayout *aux_layout_2 = new QVBoxLayout();
|
||||
aux_layout_2->addLayout(context_layout_2);
|
||||
aux_layout_2->addWidget(m_saw_2);
|
||||
|
||||
main_layout_2->addLayout(aux_layout_2);
|
||||
folio_tab_widget -> setLayout (main_layout_2);
|
||||
|
||||
//Auto Numbering Tab - Needs Further Testing
|
||||
// tab_widget->addTab(autoNumbering_tab_widget,tr ("Folio Auto Numbering"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -284,9 +337,20 @@ void ProjectAutoNumConfigPage::initLayout() {
|
||||
* Read value stored on project, and update display
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::readValuesFromProject() {
|
||||
//Conductor Tab
|
||||
QList <QString> keys = project_->conductorAutoNum().keys();
|
||||
if (keys.isEmpty()) return;
|
||||
if (!keys.isEmpty()){
|
||||
foreach (QString str, keys) { m_context_cb -> addItem(str); }
|
||||
}
|
||||
|
||||
//Folio Tab
|
||||
QList <QString> keys_2 = project_->folioAutoNum().keys();
|
||||
if (!keys_2.isEmpty()){
|
||||
foreach (QString str, keys_2) { m_context_cb_2 -> addItem(str);}
|
||||
}
|
||||
|
||||
//Folio AutoNumbering Tab - Needs Further Testing
|
||||
// m_faw->setContext(keys_2);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -301,14 +365,28 @@ void ProjectAutoNumConfigPage::adjustReadOnly() {
|
||||
* setup some connections
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::buildConnections() {
|
||||
|
||||
connect(tab_widget,SIGNAL(currentChanged(int)),this,SLOT(tabChanged(int)));
|
||||
|
||||
//Conductor Tab
|
||||
connect (m_context_cb, SIGNAL (currentIndexChanged(QString)), this, SLOT (updateContext(QString)));
|
||||
connect (m_saw, SIGNAL (applyPressed()), this, SLOT (saveContext()));
|
||||
connect (m_remove_pb, SIGNAL(clicked()), this, SLOT(removeContext()));
|
||||
connect (m_remove_pb, SIGNAL (clicked()), this, SLOT(removeContext()));
|
||||
|
||||
//Folio Tab
|
||||
connect (m_context_cb_2, SIGNAL (currentIndexChanged(QString)), this, SLOT (updateContext_2(QString)));
|
||||
connect (m_saw_2, SIGNAL (applyPressed()), this, SLOT (saveContext_2()));
|
||||
connect (m_remove_pb_2, SIGNAL (clicked()), this, SLOT (removeContext_2()));
|
||||
|
||||
/* //Auto Folio Numbering - Needs Further Testing
|
||||
connect (m_faw, SIGNAL (applyPressed()), this, SLOT (applyAutoNum()));
|
||||
connect (m_faw, SIGNAL (m_autonumber_tabs_rb_clicked()), this, SLOT (tabChanged(int)));
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::updateContext
|
||||
* Display the current selected context
|
||||
* Display the current selected context for conductor
|
||||
* @param str, key of context stored in project
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::updateContext(QString str) {
|
||||
@@ -316,9 +394,19 @@ void ProjectAutoNumConfigPage::updateContext(QString str) {
|
||||
else m_saw ->setContext(project_->conductorAutoNum(str));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::updateContext_2
|
||||
* Display the current selected context for folio
|
||||
* @param str, key of context stored in project
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::updateContext_2(QString str) {
|
||||
if (str == tr("Nom de la nouvelle numérotation")) m_saw_2 -> setContext(NumerotationContext());
|
||||
else m_saw_2 ->setContext(project_->folioAutoNum(str));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::saveContext
|
||||
* Save the current displayed context in project
|
||||
* Save the current displayed conductor context in project
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::saveContext() {
|
||||
// If the text is the default text "Name of new numerotation" save the edited context
|
||||
@@ -338,9 +426,57 @@ void ProjectAutoNumConfigPage::saveContext() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::saveContext_2
|
||||
* Save the current displayed folio context in project
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::saveContext_2() {
|
||||
// If the text is the default text "Name of new numerotation" save the edited context
|
||||
// With the the name "No name"
|
||||
if (m_context_cb_2 -> currentText() == tr("Nom de la nouvelle numérotation")) {
|
||||
project_->addFolioAutoNum (tr("Sans nom"), m_saw_2 -> toNumContext());
|
||||
m_context_cb_2 -> addItem(tr("Sans nom"));
|
||||
}
|
||||
// If the text isn't yet to the autonum of the project, add this new item to the combo box.
|
||||
else if ( !project_ -> folioAutoNum().keys().contains( m_context_cb_2->currentText())) {
|
||||
project()->addFolioAutoNum(m_context_cb_2->currentText(), m_saw_2->toNumContext());
|
||||
m_context_cb_2 -> addItem(m_context_cb_2->currentText());
|
||||
}
|
||||
// Else, the text already exist in the autonum of the project, just update the context
|
||||
else {
|
||||
project_->addFolioAutoNum (m_context_cb_2 -> currentText(), m_saw_2 -> toNumContext());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::applyAutoNum
|
||||
* Apply auto folio numbering, New Folios or Selected Folios
|
||||
*/
|
||||
/*
|
||||
void ProjectAutoNumConfigPage::applyAutoNum() {
|
||||
|
||||
if (m_faw->newFolios){
|
||||
int foliosRemaining = m_faw->newFoliosNumber();
|
||||
emit (saveCurrentTbp());
|
||||
emit (setAutoNum(m_faw->autoNumSelected()));
|
||||
while (foliosRemaining > 0){
|
||||
project()->autoFolioNumberingNewFolios();
|
||||
foliosRemaining = foliosRemaining-1;
|
||||
}
|
||||
emit (loadSavedTbp());
|
||||
}
|
||||
else{
|
||||
QString autoNum = m_faw->autoNumSelected();
|
||||
int fromFolio = m_faw->fromFolio();
|
||||
int toFolio = m_faw->toFolio();
|
||||
project_->autoFolioNumberingSelectedFolios(fromFolio,toFolio,autoNum);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::removeContext
|
||||
* Remove from project the current numerotation context
|
||||
* Remove from project the current conductor numerotation context
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::removeContext() {
|
||||
//if default text, return
|
||||
@@ -348,3 +484,37 @@ void ProjectAutoNumConfigPage::removeContext() {
|
||||
project_ -> removeConductorAutonum (m_context_cb -> currentText() );
|
||||
m_context_cb -> removeItem (m_context_cb -> currentIndex() );
|
||||
}
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::removeContext_2
|
||||
* Remove from project the current folio numerotation context
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::removeContext_2() {
|
||||
//if default text, return
|
||||
if ( m_context_cb_2 -> currentText() == tr("Nom de la nouvelle numérotation") ) return;
|
||||
project_ -> removeFolioAutoNum (m_context_cb_2 -> currentText() );
|
||||
m_context_cb_2 -> removeItem (m_context_cb_2 -> currentIndex() );
|
||||
}
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::changeToTab
|
||||
* @param tab index
|
||||
* Change to Selected Tab
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::changeToTab(int i){
|
||||
tab_widget->setCurrentIndex(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ProjectAutoNumConfigPage::tabChanged
|
||||
* @param tab index
|
||||
* Used to resize window to correct size
|
||||
*/
|
||||
void ProjectAutoNumConfigPage::tabChanged(int i){
|
||||
if (i>0){
|
||||
if (tab_widget->currentIndex()==2){
|
||||
tab_widget->resize(470,tab_widget->height());
|
||||
}
|
||||
else {
|
||||
tab_widget->adjustSize();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user