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:
dfochi
2016-05-13 13:10:32 +00:00
parent 5f93966984
commit fa4714b95d
30 changed files with 1999 additions and 578 deletions

View File

@@ -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();
}
}
}