Almost implemented dialog standard measurements.

--HG--
branch : feature
This commit is contained in:
dismine 2014-02-21 16:55:48 +02:00
parent fc427a04c4
commit 41c80d040f
3 changed files with 106 additions and 6 deletions

View File

@ -28,15 +28,108 @@
#include "dialogstandardmeasurements.h" #include "dialogstandardmeasurements.h"
#include "ui_dialogstandardmeasurements.h" #include "ui_dialogstandardmeasurements.h"
#include <QDir>
DialogStandardMeasurements::DialogStandardMeasurements(QWidget *parent) : DialogStandardMeasurements::DialogStandardMeasurements(QWidget *parent) :
QDialog(parent), QDialog(parent), ui(new Ui::DialogStandardMeasurements), _name(QString()), _tablePath(QString())
ui(new Ui::DialogStandardMeasurements)
{ {
ui->setupUi(this); ui->setupUi(this);
{
const QPushButton *bOk = ui->buttonBox->button(QDialogButtonBox::Ok);
Q_CHECK_PTR(bOk);
connect(bOk, &QPushButton::clicked, this, &DialogStandardMeasurements::Accepted);
}
{
const QPushButton *bCansel = ui->buttonBox->button(QDialogButtonBox::Cancel);
Q_CHECK_PTR(bCansel);
connect(bCansel, &QPushButton::clicked, this, &DialogStandardMeasurements::Rejected);
}
LoadStandardTables();
CheckState();
} }
DialogStandardMeasurements::~DialogStandardMeasurements() DialogStandardMeasurements::~DialogStandardMeasurements()
{ {
delete ui; delete ui;
} }
QString DialogStandardMeasurements::name() const
{
return _name;
}
QString DialogStandardMeasurements::tablePath() const
{
return _tablePath;
}
void DialogStandardMeasurements::Accepted()
{
_name = ui->lineEditName->text();
_tablePath = "path";
accept();
}
void DialogStandardMeasurements::Rejected()
{
_name = "";
_tablePath = "";
reject();
}
void DialogStandardMeasurements::CheckState()
{
bool flagName = false;
if (ui->lineEditName->text().isEmpty() == false)
{
flagName = true;
}
bool flagTable = false;
{
const QComboBox *box = ui->comboBoxTables;
Q_CHECK_PTR(box);
if (box->count() > 0 && box->currentIndex() != -1)
{
flagTable = true;
}
}
QPushButton *bOk = ui->buttonBox->button(QDialogButtonBox::Ok);
Q_CHECK_PTR(bOk);
bOk->setEnabled(flagTable && flagName);
}
void DialogStandardMeasurements::LoadStandardTables()
{
#ifdef Q_OS_WIN32
const QString pathToTables = QString("/standard_tables");
#else
#ifdef QT_DEBUG
const QString pathToTables = QString("/standard_tables");
#else
const QString pathToTables = QString("/usr/share/valentina/standard_tables");
#endif
#endif
QDir tablesDir(pathToTables);
{
QStringList filters;
filters << "*.cpp";
tablesDir.setNameFilters(filters);
}
const QStringList allFiles = tablesDir.entryList(QDir::NoDotAndDotDot | QDir::Files);
if (allFiles.isEmpty() == true)
{
ui->comboBoxTables->clear();
CheckState();
return;
}
for (int i = 0; i < allFiles.size(); ++i)
{
}
}

View File

@ -38,13 +38,20 @@ class DialogStandardMeasurements;
class DialogStandardMeasurements : public QDialog class DialogStandardMeasurements : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit DialogStandardMeasurements(QWidget *parent = 0); explicit DialogStandardMeasurements(QWidget *parent = 0);
~DialogStandardMeasurements(); ~DialogStandardMeasurements();
QString name() const;
QString tablePath() const;
private: private:
Q_DISABLE_COPY(DialogStandardMeasurements)
Ui::DialogStandardMeasurements *ui; Ui::DialogStandardMeasurements *ui;
QString _name;
QString _tablePath;
void Accepted();
void Rejected();
void CheckState();
void LoadStandardTables();
}; };
#endif // DIALOGSTANDARDMEASUREMENTS_H #endif // DIALOGSTANDARDMEASUREMENTS_H

View File

@ -33,7 +33,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="lineEdit"/> <widget class="QLineEdit" name="lineEditName"/>
</item> </item>
</layout> </layout>
</item> </item>
@ -53,7 +53,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QComboBox" name="comboBox"/> <widget class="QComboBox" name="comboBoxTables"/>
</item> </item>
</layout> </layout>
</item> </item>