This patch has been applied. Great work Riccardo!!
Thank you kindly
Dirk
On Mon, 2008-05-26 at 21:56 +0200, rgh wrote:
> Kern Sibbald wrote:
> > On Saturday 24 May 2008 18:38:57 rgh wrote:
> >> Kern Sibbald wrote:
> >>> Hello Riccardo,
> >>>
> >>> Nice. I like the idea of making the qwt buttons invisible.
> >>>
> >>> One small detail: I would prefer not to have assert()s in the code
> >>> because it is not very user friendly. I suggest to either completely
> >>> ignore the condition (my preference) or possibly print a message in the
> >>> status line.
> >> Ah, ok. I'll remove the asserts, then.
> >
> > Thanks.
>
> Attached is the revised patch. I've added a bunch of other translation
> changes and a bit of refactoring of comboboxes.
>
> Ciao,
> Riccardo
> plain text document attachment (tr2.patch)
> Index: bacula/src/qt-console/status/storstat.cpp
> ===================================================================
> --- bacula/src/qt-console/status/storstat.cpp (revision 7033)
> +++ bacula/src/qt-console/status/storstat.cpp (working copy)
> @@ -58,7 +58,7 @@
> {
> m_storage = storage;
> setupUi(this);
> - m_name = tr("Storage Status") + " " + m_storage;
> + m_name = tr("Storage Status %1").arg(m_storage);
> m_closeable = true;
> pgInitialize(parentTreeWidgetItem);
> QTreeWidgetItem* thisitem = mainWin->getFromHash(this);
> Index: bacula/src/qt-console/status/clientstat.cpp
> ===================================================================
> --- bacula/src/qt-console/status/clientstat.cpp (revision 7033)
> +++ bacula/src/qt-console/status/clientstat.cpp (working copy)
> @@ -43,7 +43,7 @@
> {
> m_client = client;
> setupUi(this);
> - m_name = tr("Client Status") + " " + m_client;
> + m_name = tr("Client Status %1").arg(m_client);
> m_closeable = true;
> pgInitialize(parentTreeWidgetItem);
> QTreeWidgetItem* thisitem = mainWin->getFromHash(this);
> Index: bacula/src/qt-console/status/dirstat.cpp
> ===================================================================
> --- bacula/src/qt-console/status/dirstat.cpp (revision 7033)
> +++ bacula/src/qt-console/status/dirstat.cpp (working copy)
> @@ -394,8 +394,8 @@
> m_selectedJobsList.append(sitem->text());
> }
> if (m_selectedJobsList.count() > 1) {
> - actionCancelRunning->setText(QString("Cancel list of %1
> Jobs").arg(m_selectedJobsList.count()));
> + actionCancelRunning->setText(tr("Cancel list of %1
> Jobs").arg(m_selectedJobsList.count()));
> } else {
> - actionCancelRunning->setText("Cancel Single Job");
> + actionCancelRunning->setText(tr("Cancel Single Job"));
> }
> }
> Index: bacula/src/qt-console/mainwin.h
> ===================================================================
> --- bacula/src/qt-console/mainwin.h (revision 7033)
> +++ bacula/src/qt-console/mainwin.h (working copy)
> @@ -113,9 +113,7 @@
> void estimateButtonClicked();
> void browseButtonClicked();
> void statusPageButtonClicked();
> -#ifdef HAVE_QWT
> void jobPlotButtonClicked();
> -#endif
> void restoreButtonClicked();
> void undockWindowButton();
> void treeItemChanged(QTreeWidgetItem *, QTreeWidgetItem *);
> Index: bacula/src/qt-console/bcomm/dircomm.cpp
> ===================================================================
> --- bacula/src/qt-console/bcomm/dircomm.cpp (revision 7033)
> +++ bacula/src/qt-console/bcomm/dircomm.cpp (working copy)
> @@ -107,11 +107,11 @@
>
> m_dir = dir;
> if (!m_dir) {
> - mainWin->set_status("No Director found.");
> + mainWin->set_status( tr("No Director found.") );
> return;
> }
> if (m_sock) {
> - mainWin->set_status("Already connected.");
> + mainWin->set_status( tr("Already connected.") );
> return;
> }
>
> @@ -177,7 +177,7 @@
> _("Director daemon"), m_dir->address,
> NULL, m_dir->DIRport, 0);
> if (m_sock == NULL) {
> - mainWin->set_status("Connection failed");
> + mainWin->set_status( tr("Connection failed") );
> return;
> } else {
> /* Update page selector to green to indicate that Console is connected
> */
> @@ -289,7 +289,7 @@
> QApplication::setOverrideCursor(Qt::WaitCursor);
> write(msg);
> } else {
> - mainWin->set_status(" Director not connected. Click on connect
> button.");
> + mainWin->set_status( tr(" Director not connected. Click on connect
> button.") );
> mainWin->actionConnect->setIcon(QIcon(":images/disconnected.png"));
> QBrush redBrush(Qt::red);
> QTreeWidgetItem *item = mainWin->getFromHash(this);
> @@ -518,10 +518,9 @@
> if (is_connected()) {
> return true;
> } else {
> - QString message("Director ");
> - message += " is curerntly disconnected\n Please reconnect!!";
> - QMessageBox::warning(this, tr("Bat"),
> - tr(message.toUtf8().data()), QMessageBox::Ok );
> + QString message( tr("Director is currently disconnected\n Please
> reconnect!"));
> + QMessageBox::warning(this, "Bat",
> + message.toUtf8().data(), QMessageBox::Ok );
> return false;
> }
> }
> Index: bacula/src/qt-console/mount/mount.cpp
> ===================================================================
> --- bacula/src/qt-console/mount/mount.cpp (revision 7033)
> +++ bacula/src/qt-console/mount/mount.cpp (working copy)
> @@ -48,8 +48,7 @@
> setupUi(this);
> this->show();
>
> - QString labelText("Storage : ");
> - labelText += storageName;
> + QString labelText( tr("Storage : %1").arg(storageName) );
> storageLabel->setText(labelText);
> }
>
> @@ -57,7 +56,7 @@
> {
> QString scmd;
> if (m_storageName == "") {
> - QMessageBox::warning(this, "No Storage name", "No Storage name given",
> + QMessageBox::warning(this, tr("No Storage name"), tr("No Storage name
> given"),
> QMessageBox::Ok, QMessageBox::Ok);
> return;
> }
> @@ -69,10 +68,10 @@
> Pmsg1(000, "sending command : %s\n",scmd.toUtf8().data());
> }
>
> - m_console->display_text("Context sensitive command :\n\n");
> + m_console->display_text( tr("Context sensitive command :\n\n"));
> m_console->display_text("**** ");
> m_console->display_text(scmd + " ****\n");
> - m_console->display_text("Director Response :\n\n");
> + m_console->display_text(tr("Director Response :\n\n"));
>
> m_console->write_dir(scmd.toUtf8().data());
> m_console->displayToPrompt();
> Index: bacula/src/qt-console/jobgraphs/jobplot.h
> ===================================================================
> --- bacula/src/qt-console/jobgraphs/jobplot.h (revision 7033)
> +++ bacula/src/qt-console/jobgraphs/jobplot.h (working copy)
> @@ -128,6 +128,7 @@
> void reGraph();
>
> private:
> + void fillSymbolCombo(QComboBox *q);
> void setSymbolType(int, int type);
> void addCurve();
> void writeSettings();
> Index: bacula/src/qt-console/jobgraphs/jobplot.cpp
> ===================================================================
> --- bacula/src/qt-console/jobgraphs/jobplot.cpp (revision 7033)
> +++ bacula/src/qt-console/jobgraphs/jobplot.cpp (working copy)
> @@ -37,6 +37,7 @@
>
> #include <QtGui>
> #include "bat.h"
> +#include "util/comboutil.h"
> #include "jobgraphs/jobplot.h"
>
>
> @@ -76,7 +77,7 @@
> JobPlot::JobPlot(QTreeWidgetItem *parentTreeWidgetItem, JobPlotPass
> &passVals)
> {
> setupUserInterface();
> - m_name = "JobPlot";
> + m_name = tr("JobPlot");
> pgInitialize(parentTreeWidgetItem);
> readSplitterSettings();
> QTreeWidgetItem* thisitem = mainWin->getFromHash(this);
> @@ -134,13 +135,13 @@
> */
> void JobPlot::setupControls()
> {
> - QStringList graphType = QStringList() << /* "Fitted" <<*/ "Sticks" <<
> "Lines" << "Steps" << "None";
> + QStringList graphType = QStringList() << /* tr("Fitted") <<*/ tr("Sticks")
> + << tr("Lines") << tr("Steps") <<
> tr("None");
> controls->plotTypeCombo->addItems(graphType);
> - QStringList symbolType = QStringList() << "Ellipse" << "Rect" <<
> "Diamond" << "Triangle"
> - << "DTrianle" << "UTriangle" << "LTriangle" << "RTriangle" <<
> "Cross" << "XCross"
> - << "HLine" << "Vline" << "Star1" << "Star2" << "Hexagon" <<
> "None";
> - controls->fileSymbolTypeCombo->addItems(symbolType);
> - controls->byteSymbolTypeCombo->addItems(symbolType);
> +
> + fillSymbolCombo(controls->fileSymbolTypeCombo);
> + fillSymbolCombo(controls->byteSymbolTypeCombo);
> +
> readControlSettings();
>
> controls->fileCheck->setCheckState(Qt::Checked);
> @@ -152,24 +153,25 @@
> connect(controls->byteCheck, SIGNAL(stateChanged(int)), this,
> SLOT(byteCheckChanged(int)));
> connect(controls->refreshButton, SIGNAL(pressed()), this,
> SLOT(reGraph()));
>
> - controls->clientComboBox->addItem("Any");
> + controls->clientComboBox->addItem(tr("Any"));
> controls->clientComboBox->addItems(m_console->client_list);
>
> QStringList volumeList;
> m_console->getVolumeList(volumeList);
> - controls->volumeComboBox->addItem("Any");
> + controls->volumeComboBox->addItem(tr("Any"));
> controls->volumeComboBox->addItems(volumeList);
> - controls->jobComboBox->addItem("Any");
> + controls->jobComboBox->addItem(tr("Any"));
> controls->jobComboBox->addItems(m_console->job_list);
> - controls->levelComboBox->addItem("Any");
> - controls->levelComboBox->addItems( QStringList() << "F" << "D" << "I");
> - controls->purgedComboBox->addItem("Any");
> - controls->purgedComboBox->addItems( QStringList() << "0" << "1");
> - controls->fileSetComboBox->addItem("Any");
> +
> + levelComboFill(controls->levelComboBox);
> +
> + boolComboFill(controls->purgedComboBox);
> +
> + controls->fileSetComboBox->addItem(tr("Any"));
> controls->fileSetComboBox->addItems(m_console->fileset_list);
> QStringList statusLongList;
> m_console->getStatusList(statusLongList);
> - controls->statusComboBox->addItem("Any");
> + controls->statusComboBox->addItem(tr("Any"));
> controls->statusComboBox->addItems(statusLongList);
>
> if (m_pass.use) {
> @@ -177,27 +179,15 @@
> controls->limitSpinBox->setValue(m_pass.recordLimitSpin);
> controls->daysCheckBox->setCheckState(m_pass.daysLimitCheck);
> controls->daysSpinBox->setValue(m_pass.daysLimitSpin);
> - int jobIndex = controls->jobComboBox->findText(m_pass.jobCombo,
> Qt::MatchExactly);
> - if (jobIndex != -1)
> - controls->jobComboBox->setCurrentIndex(jobIndex);
> - int clientIndex =
> controls->clientComboBox->findText(m_pass.clientCombo, Qt::MatchExactly);
> - if (clientIndex != -1)
> - controls->clientComboBox->setCurrentIndex(clientIndex);
> - int volumeIndex =
> controls->volumeComboBox->findText(m_pass.volumeCombo, Qt::MatchExactly);
> - if (volumeIndex != -1)
> - controls->volumeComboBox->setCurrentIndex(volumeIndex);
> - int filesetIndex =
> controls->fileSetComboBox->findText(m_pass.fileSetCombo, Qt::MatchExactly);
> - if (filesetIndex != -1)
> - controls->fileSetComboBox->setCurrentIndex(filesetIndex);
> - int purgedIndex =
> controls->purgedComboBox->findText(m_pass.purgedCombo, Qt::MatchExactly);
> - if (purgedIndex != -1)
> - controls->purgedComboBox->setCurrentIndex(purgedIndex);
> - int levelIndex = controls->levelComboBox->findText(m_pass.levelCombo,
> Qt::MatchExactly);
> - if (levelIndex != -1)
> - controls->levelComboBox->setCurrentIndex(levelIndex);
> - int statusIndex =
> controls->statusComboBox->findText(m_pass.statusCombo, Qt::MatchExactly);
> - if (statusIndex != -1)
> - controls->statusComboBox->setCurrentIndex(statusIndex);
> +
> + comboSel(controls->jobComboBox, m_pass.jobCombo);
> + comboSel(controls->clientComboBox, m_pass.clientCombo);
> + comboSel(controls->volumeComboBox, m_pass.volumeCombo);
> + comboSel(controls->fileSetComboBox, m_pass.fileSetCombo);
> + comboSel(controls->purgedComboBox, m_pass.purgedCombo);
> + comboSel(controls->levelComboBox, m_pass.levelCombo);
> + comboSel(controls->statusComboBox, m_pass.statusCombo);
> +
> } else {
> /* Set Defaults for check and spin for limits */
> controls->limitCheckBox->setCheckState(mainWin->m_recordLimitCheck ?
> Qt::Checked : Qt::Unchecked);
> @@ -225,30 +215,19 @@
> " LEFT OUTER JOIN FileSet ON (FileSet.FileSetId=Job.FileSetId)";
>
> QStringList conditions;
> - int jobIndex = controls->jobComboBox->currentIndex();
> - if ((jobIndex != -1) && (controls->jobComboBox->itemText(jobIndex) !=
> "Any"))
> - conditions.append("Job.Name='" +
> controls->jobComboBox->itemText(jobIndex) + "'");
> - int clientIndex = controls->clientComboBox->currentIndex();
> - if ((clientIndex != -1) &&
> (controls->clientComboBox->itemText(clientIndex) != "Any"))
> - conditions.append("Client.Name='" +
> controls->clientComboBox->itemText(clientIndex) + "'");
> + comboCond(conditions, controls->jobComboBox, "Job.Name");
> + comboCond(conditions, controls->clientComboBox, "Client.Name");
> int volumeIndex = controls->volumeComboBox->currentIndex();
> - if ((volumeIndex != -1) &&
> (controls->volumeComboBox->itemText(volumeIndex) != "Any")) {
> + if ((volumeIndex != -1) &&
> (controls->volumeComboBox->itemText(volumeIndex) != tr("Any"))) {
> query += " LEFT OUTER JOIN JobMedia ON (JobMedia.JobId=Job.JobId)"
> " LEFT OUTER JOIN Media ON (JobMedia.MediaId=Media.MediaId)";
> conditions.append("Media.VolumeName='" +
> controls->volumeComboBox->itemText(volumeIndex) + "'");
> }
> - int fileSetIndex = controls->fileSetComboBox->currentIndex();
> - if ((fileSetIndex != -1) &&
> (controls->fileSetComboBox->itemText(fileSetIndex) != "Any"))
> - conditions.append("FileSet.FileSet='" +
> controls->fileSetComboBox->itemText(fileSetIndex) + "'");
> - int purgedIndex = controls->purgedComboBox->currentIndex();
> - if ((purgedIndex != -1) &&
> (controls->purgedComboBox->itemText(purgedIndex) != "Any"))
> - conditions.append("Job.PurgedFiles='" +
> controls->purgedComboBox->itemText(purgedIndex) + "'");
> - int levelIndex = controls->levelComboBox->currentIndex();
> - if ((levelIndex != -1) && (controls->levelComboBox->itemText(levelIndex)
> != "Any"))
> - conditions.append("Job.Level='" +
> controls->levelComboBox->itemText(levelIndex) + "'");
> - int statusIndex = controls->statusComboBox->currentIndex();
> - if ((statusIndex != -1) &&
> (controls->statusComboBox->itemText(statusIndex) != "Any"))
> - conditions.append("Status.JobStatusLong='" +
> controls->statusComboBox->itemText(statusIndex) + "'");
> + comboCond(conditions, controls->fileSetComboBox, "FileSet.FileSet");
> + boolComboCond(conditions, controls->purgedComboBox, "Job.PurgedFiles");
> + levelComboCond(conditions, controls->levelComboBox, "Job.Level");
> + comboCond(conditions, controls->statusComboBox, "Status.JobStatusLong");
> +
> /* If Limit check box For limit by days is checked */
> if (controls->daysCheckBox->checkState() == Qt::Checked) {
> QDateTime stamp =
> QDateTime::currentDateTime().addDays(-controls->daysSpinBox->value());
> @@ -306,10 +285,10 @@
> row++;
> }
> }
> - if ((controls->volumeComboBox->itemText(volumeIndex) != "Any") &&
> (results.count() == 0)){
> + if ((controls->volumeComboBox->itemText(volumeIndex) != tr("Any")) &&
> (results.count() == 0)){
> /* for context sensitive searches, let the user know if there were no
> * * results */
> - QMessageBox::warning(this, tr("Bat"),
> + QMessageBox::warning(this, "Bat",
> tr("The Jobs query returned no results.\n"
> "Press OK to continue?"), QMessageBox::Ok );
> }
> @@ -354,23 +333,23 @@
> */
> void JobPlot::addCurve()
> {
> - m_jobPlot->setTitle("Files and Bytes backed up");
> + m_jobPlot->setTitle(tr("Files and Bytes backed up"));
> m_jobPlot->insertLegend(new QwtLegend(), QwtPlot::RightLegend);
>
> // Set axis titles
> m_jobPlot->enableAxis(QwtPlot::yRight);
> - m_jobPlot->setAxisTitle(QwtPlot::yRight, "<-- Bytes Kb");
> - m_jobPlot->setAxisTitle(m_jobPlot->xBottom, "date of backup -->");
> - m_jobPlot->setAxisTitle(m_jobPlot->yLeft, "Number of Files -->");
> + m_jobPlot->setAxisTitle(QwtPlot::yRight, tr("<-- Bytes Kb"));
> + m_jobPlot->setAxisTitle(m_jobPlot->xBottom, tr("date of backup -->"));
> + m_jobPlot->setAxisTitle(m_jobPlot->yLeft, tr("Number of Files -->"));
> m_jobPlot->setAxisScaleDraw(QwtPlot::xBottom, new DateTimeScaleDraw());
>
> // Insert new curves
> - m_fileCurve = new QwtPlotCurve("Files");
> + m_fileCurve = new QwtPlotCurve( tr("Files") );
> m_fileCurve->setPen(QPen(Qt::red));
> m_fileCurve->setCurveType(m_fileCurve->Yfx);
> m_fileCurve->setYAxis(QwtPlot::yLeft);
>
> - m_byteCurve = new QwtPlotCurve("Bytes");
> + m_byteCurve = new QwtPlotCurve(tr("Bytes"));
> m_byteCurve->setPen(QPen(Qt::blue));
> m_byteCurve->setCurveType(m_byteCurve->Yfx);
> m_byteCurve->setYAxis(QwtPlot::yRight);
> @@ -430,19 +409,19 @@
> void JobPlot::setPlotType(QString currentText)
> {
> QwtPlotCurve::CurveStyle style = QwtPlotCurve::NoCurve;
> - if (currentText == "Fitted") {
> + if (currentText == tr("Fitted")) {
> style = QwtPlotCurve::Lines;
> m_fileCurve->setCurveAttribute(QwtPlotCurve::Fitted);
> m_byteCurve->setCurveAttribute(QwtPlotCurve::Fitted);
> - } else if (currentText == "Sticks") {
> + } else if (currentText == tr("Sticks")) {
> style = QwtPlotCurve::Sticks;
> - } else if (currentText == "Lines") {
> + } else if (currentText == tr("Lines")) {
> style = QwtPlotCurve::Lines;
> m_fileCurve->setCurveAttribute(QwtPlotCurve::Fitted);
> m_byteCurve->setCurveAttribute(QwtPlotCurve::Fitted);
> - } else if (currentText == "Steps") {
> + } else if (currentText == tr("Steps")) {
> style = QwtPlotCurve::Steps;
> - } else if (currentText == "None") {
> + } else if (currentText == tr("None")) {
> style = QwtPlotCurve::NoCurve;
> }
> m_fileCurve->setStyle(style);
> @@ -450,6 +429,27 @@
> m_jobPlot->replot();
> }
>
> +void JobPlot::fillSymbolCombo(QComboBox *q)
> +{
> + q->addItem( tr("Ellipse"), (int)QwtSymbol::Ellipse);
> + q->addItem( tr("Rect"), (int)QwtSymbol::Rect);
> + q->addItem( tr("Diamond"), (int)QwtSymbol::Diamond);
> + q->addItem( tr("Triangle"), (int)QwtSymbol::Triangle);
> + q->addItem( tr("DTrianle"), (int)QwtSymbol::DTriangle);
> + q->addItem( tr("UTriangle"), (int)QwtSymbol::UTriangle);
> + q->addItem( tr("LTriangle"), (int)QwtSymbol::LTriangle);
> + q->addItem( tr("RTriangle"), (int)QwtSymbol::RTriangle);
> + q->addItem( tr("Cross"), (int)QwtSymbol::Cross);
> + q->addItem( tr("XCross"), (int)QwtSymbol::XCross);
> + q->addItem( tr("HLine"), (int)QwtSymbol::HLine);
> + q->addItem( tr("Vline"), (int)QwtSymbol::VLine);
> + q->addItem( tr("Star1"), (int)QwtSymbol::Star1);
> + q->addItem( tr("Star2"), (int)QwtSymbol::Star2);
> + q->addItem( tr("Hexagon"), (int)QwtSymbol::Hexagon);
> + q->addItem( tr("None"), (int)QwtSymbol::NoSymbol);
> +}
> +
> +
> /*
> * slot to respond to the symbol type combo changing
> */
> @@ -467,44 +467,20 @@
> QwtSymbol sym;
> sym.setPen(QColor(Qt::black));
> sym.setSize(7);
> - if (index == 0) {
> - sym.setStyle(QwtSymbol::Ellipse);
> - } else if (index == 1) {
> - sym.setStyle(QwtSymbol::Rect);
> - } else if (index == 2) {
> - sym.setStyle(QwtSymbol::Diamond);
> - } else if (index == 3) {
> - sym.setStyle(QwtSymbol::Triangle);
> - } else if (index == 4) {
> - sym.setStyle(QwtSymbol::DTriangle);
> - } else if (index == 5) {
> - sym.setStyle(QwtSymbol::UTriangle);
> - } else if (index == 6) {
> - sym.setStyle(QwtSymbol::LTriangle);
> - } else if (index == 7) {
> - sym.setStyle(QwtSymbol::RTriangle);
> - } else if (index == 8) {
> - sym.setStyle(QwtSymbol::Cross);
> - } else if (index == 9) {
> - sym.setStyle(QwtSymbol::XCross);
> - } else if (index == 10) {
> - sym.setStyle(QwtSymbol::HLine);
> - } else if (index == 11) {
> - sym.setStyle(QwtSymbol::VLine);
> - } else if (index == 12) {
> - sym.setStyle(QwtSymbol::Star1);
> - } else if (index == 13) {
> - sym.setStyle(QwtSymbol::Star2);
> - } else if (index == 14) {
> - sym.setStyle(QwtSymbol::Hexagon);
> - }
> - if (type == 0) {
> +
> + QVariant style;
> + if (0 == type) {
> + style = controls->fileSymbolTypeCombo->itemData(index);
> + sym.setStyle( (QwtSymbol::Style)style.toInt() );
> sym.setBrush(QColor(Qt::yellow));
> m_fileCurve->setSymbol(sym);
> - }
> - if (type == 1) {
> +
> + } else {
> + style = controls->byteSymbolTypeCombo->itemData(index);
> + sym.setStyle( (QwtSymbol::Style)style.toInt() );
> sym.setBrush(QColor(Qt::blue));
> m_byteCurve->setSymbol(sym);
> +
> }
> m_jobPlot->replot();
> }
> Index: bacula/src/qt-console/mainwin.cpp
> ===================================================================
> --- bacula/src/qt-console/mainwin.cpp (revision 7033)
> +++ bacula/src/qt-console/mainwin.cpp (working copy)
> @@ -83,6 +83,11 @@
>
> createConnections();
>
> +#ifndef HAVE_QWT
> + actionJobPlot->setEnabled(false);
> + actionJobPlot->setVisible(false);
> +#endif
> +
> this->show();
>
> readSettings();
> @@ -468,14 +473,14 @@
> new prerestorePage();
> }
>
> -#ifdef HAVE_QWT
> void MainWin::jobPlotButtonClicked()
> {
> +#ifdef HAVE_QWT
> JobPlotPass pass;
> pass.use = false;
> new JobPlot(NULL, pass);
> +#endif
> }
> -#endif
>
> /*
> * The user just finished typing a line in the command line edit box
> @@ -687,6 +692,9 @@
> break;
> }
> prefs.openPlotCheckBox->setCheckState(m_openPlot ? Qt::Checked :
> Qt::Unchecked);
> +#ifndef HAVE_QWT
> + prefs.openPlotCheckBox->setVisible(false);
> +#endif
> prefs.openBrowserCheckBox->setCheckState(m_openBrowser ? Qt::Checked :
> Qt::Unchecked);
> prefs.openDirStatCheckBox->setCheckState(m_openDirStat ? Qt::Checked :
> Qt::Unchecked);
> prefs.exec();
> Index: bacula/src/qt-console/restore/restore.cpp
> ===================================================================
> --- bacula/src/qt-console/restore/restore.cpp (revision 7033)
> +++ bacula/src/qt-console/restore/restore.cpp (working copy)
> @@ -395,8 +395,8 @@
> m_console->discardToPrompt();
> }
> if (count == 0) {
> - mainWin->set_status("Nothing selected, nothing done");
> - statusLine->setText("Nothing selected, nothing done");
> + mainWin->set_status(tr("Nothing selected, nothing done"));
> + statusLine->setText(tr("Nothing selected, nothing done"));
> }
>
> }
> @@ -420,7 +420,7 @@
> Dmsg2(100, "cwd=%s msg=%s\n", m_cwd.toUtf8().data(), m_console->msg());
> } else {
> Dmsg1(000, "stat=%d\n", stat);
> - QMessageBox::critical(this, "Error", "cd command failed",
> QMessageBox::Ok);
> + QMessageBox::critical(this, "Error", tr("cd command failed"),
> QMessageBox::Ok);
> }
> m_console->discardToPrompt();
> return true; /* ***FIXME*** return real status */
> @@ -439,7 +439,7 @@
> Dmsg2(100, "cwd=%s msg=%s\n", m_cwd.toUtf8().data(), m_console->msg());
> } else {
> Dmsg1(000, "Something went wrong read stat=%d\n", stat);
> - QMessageBox::critical(this, "Error", ".pwd command failed",
> QMessageBox::Ok);
> + QMessageBox::critical(this, "Error", tr(".pwd command failed"),
> QMessageBox::Ok);
> }
> m_console->discardToPrompt();
> return m_cwd.toUtf8().data();
> Index: bacula/src/qt-console/restore/restoretree.cpp
> ===================================================================
> --- bacula/src/qt-console/restore/restoretree.cpp (revision 7033)
> +++ bacula/src/qt-console/restore/restoretree.cpp (working copy)
> @@ -174,7 +174,7 @@
> prBar1->setVisible(true);
> prBar1->setRange(0,taskcount);
> prBar1->setValue(0);
> - prLabel1->setText(tr("Task ") + QString("%1").arg(ontask)+ " of " +
> QString("%1").arg(taskcount));
> + prLabel1->setText(tr("Task %1 of %2").arg(ontask).arg(taskcount));
> prLabel1->setVisible(true);
> prBar2->setVisible(true);
> prBar2->setRange(0,0);
> @@ -192,7 +192,7 @@
> m_prevDaysCheckState = daysCheckBox->checkState();
> updateRefresh();
> prBar1->setValue(ontask++);
> - prLabel1->setText(tr("Task ") + QString("%1").arg(ontask)+ " of " +
> QString("%1").arg(taskcount));
> + prLabel1->setText(tr("Task %1 of %2").arg(ontask).arg(taskcount));
> prBar2->setValue(0);
> prBar2->setRange(0,0);
> prLabel2->setText(tr("Querying Jobs"));
> @@ -235,7 +235,7 @@
> if (mainWin->m_sqlDebug)
> Pmsg1(000, "Query cmd : %s\n", cmd.toUtf8().data());
> prBar1->setValue(ontask++);
> - prLabel1->setText(tr("Task ") + QString("%1").arg(ontask) + " of " +
> QString("%1").arg(taskcount));
> + prLabel1->setText(tr("Task %1 of %2").arg(ontask).arg(taskcount));
> prBar2->setValue(0);
> prBar2->setRange(0,0);
> prLabel2->setText(tr("Querying for Directories"));
> @@ -278,7 +278,7 @@
> } else {
> QMessageBox::warning(this, "Bat",
> tr("No jobs were selected in the job query !!!.\n"
> - "Press OK to continue?"),
> + "Press OK to continue"),
> QMessageBox::Ok );
> }
> prBar1->setVisible(false);
> @@ -381,7 +381,7 @@
> bool ok = true, added = false;
>
> if ((mainWin->m_miscDebug) && (m_debugTrap)) {
> - QString msg = QString(tr("In addDirectory cwd \"%1\" newdir \"%2\"\n"))
> + QString msg = QString("In addDirectory cwd \"%1\" newdir \"%2\"\n")
> .arg(m_cwd)
> .arg(newdir);
> Pmsg0(000, msg.toUtf8().data());
> @@ -435,7 +435,7 @@
> } else {
> ok = false;
> if ((mainWin->m_miscDebug) && (m_debugTrap)) {
> - QString msg = QString(tr("In else of if parent cwd \"%1\" newdir
> \"%2\"\n"))
> + QString msg = QString("In else of if parent cwd \"%1\" newdir
> \"%2\"\n")
> .arg(m_cwd)
> .arg(newdir);
> Pmsg0(000, msg.toUtf8().data());
> @@ -518,7 +518,7 @@
> this, SLOT(fileTableItemChanged(QTableWidgetItem *)));
> QBrush blackBrush(Qt::black);
> QString directory = item->data(0, Qt::UserRole).toString();
> - directoryLabel->setText(tr("Present Working Directory : ") + directory);
> + directoryLabel->setText(tr("Present Working Directory:
> %1").arg(directory));
> int pathid = m_directoryPathIdHash.value(directory, -1);
> if (pathid != -1) {
> QString cmd =
> @@ -1506,9 +1506,9 @@
> {
> /* Set progress bars and repaint */
> prLabel1->setVisible(true);
> - prLabel1->setText("Task 1 of 3");
> + prLabel1->setText(tr("Task 1 of 3"));
> prLabel2->setVisible(true);
> - prLabel2->setText("Processing Checked directories");
> + prLabel2->setText(tr("Processing Checked directories"));
> prBar1->setVisible(true);
> prBar1->setRange(0, 3);
> prBar1->setValue(0);
> @@ -1613,8 +1613,8 @@
> ++diter;
> } /* while (*diter) */
> prBar1->setValue(1);
> - prLabel1->setText("Task 2 of 3");
> - prLabel2->setText("Processing Exceptions");
> + prLabel1->setText( tr("Task 2 of 3"));
> + prLabel2->setText(tr("Processing Exceptions"));
> prBar2->setRange(0, 0);
> repaint();
>
> @@ -1651,8 +1651,8 @@
> } /* while ftera.hasNext */
> /* The progress bars for the next step */
> prBar1->setValue(2);
> - prLabel1->setText("Task 3 of 3");
> - prLabel2->setText("Filling Database Table");
> + prLabel1->setText(tr("Task 3 of 3"));
> + prLabel2->setText(tr("Filling Database Table"));
> prBar2->setRange(0, vFMCounter);
> vFMCounter = 0;
> prBar2->setValue(vFMCounter);
> Index: bacula/src/qt-console/console/console.cpp
> ===================================================================
> --- bacula/src/qt-console/console/console.cpp (revision 7033)
> +++ bacula/src/qt-console/console/console.cpp (working copy)
> @@ -129,11 +129,11 @@
> m_textEdit = textEdit; /* our console screen */
>
> if (!m_dir) {
> - mainWin->set_status("No Director found.");
> + mainWin->set_status( tr("No Director found."));
> goto bail_out;
> }
> if (m_sock) {
> - mainWin->set_status("Already connected.");
> + mainWin->set_status( tr("Already connected."));
> goto bail_out;
> }
>
> @@ -187,7 +187,7 @@
> if (!m_dir->tls_ctx) {
> display_textf(_("Failed to initialize TLS context for Director
> \"%s\".\n"),
> m_dir->name());
> - mainWin->set_status("Connection failed");
> + mainWin->set_status( tr("Connection failed") );
> goto bail_out;
> }
> }
> @@ -537,7 +537,7 @@
> QApplication::setOverrideCursor(Qt::WaitCursor);
> write(msg);
> } else {
> - mainWin->set_status(" Director not connected. Click on connect
> button.");
> + mainWin->set_status( tr(" Director not connected. Click on connect
> button."));
> mainWin->actionConnect->setIcon(QIcon(":images/disconnected.png"));
> QBrush redBrush(Qt::red);
> QTreeWidgetItem *item = mainWin->getFromHash(this);
> @@ -799,10 +799,8 @@
> if (is_connected()) {
> return true;
> } else {
> - QString message("Director ");
> - message += " is currently disconnected\n Please reconnect!!";
> - QMessageBox::warning(this, "Bat",
> - tr(message.toUtf8().data()), QMessageBox::Ok );
> + QString message = tr("Director is currently disconnected\nPlease
> reconnect!");
> + QMessageBox::warning(this, "Bat", message, QMessageBox::Ok );
> return false;
> }
> }
> @@ -814,27 +812,21 @@
> bool Console::preventInUseConnect()
> {
> if (!is_connected()) {
> - QString message("Director ");
> - message += m_dir->name();
> - message += " is currently disconnected\n Please reconnect!!";
> - QMessageBox::warning(this, "Bat",
> - tr(message.toUtf8().data()), QMessageBox::Ok );
> + QString message = tr("Director %1 is currently disconnected\n"
> + "Please reconnect!").arg(m_dir->name());
> + QMessageBox::warning(this, "Bat", message, QMessageBox::Ok );
> return false;
> } else if (!m_at_main_prompt){
> - QString message("Director ");
> - message += m_dir->name();
> - message += " is currently busy\n Please complete restore or other "
> - " operation !! This is a limitation that will be resolved
> before a beta"
> - " release. This is currently an alpha release.";
> - QMessageBox::warning(this, "Bat",
> - tr(message.toUtf8().data()), QMessageBox::Ok );
> + QString message = tr("Director %1 is currently busy\n Please complete
> "
> + "restore or other operation! This is a limitation "
> + "that will be resolved before a beta release. "
> + "This is currently an alpha
> release.").arg(m_dir->name());
> + QMessageBox::warning(this, "Bat", message, QMessageBox::Ok );
> return false;
> } else if (!m_at_prompt){
> - QString message("Director ");
> - message += m_dir->name();
> - message += " is currently not at a prompt\n Please try again!!";
> - QMessageBox::warning(this, "Bat",
> - tr(message.toUtf8().data()), QMessageBox::Ok );
> + QString message = tr("Director %1 is currently not at a prompt\n"
> + " Please try again!").arg(m_dir->name());
> + QMessageBox::warning(this, "Bat", message, QMessageBox::Ok );
> return false;
> } else {
> return true;
> Index: bacula/src/qt-console/joblist/joblist.cpp
> ===================================================================
> --- bacula/src/qt-console/joblist/joblist.cpp (revision 7033)
> +++ bacula/src/qt-console/joblist/joblist.cpp (working copy)
> @@ -41,6 +41,7 @@
> #include "jobgraphs/jobplot.h"
> #endif
> #include "util/fmtwidgetitem.h"
> +#include "util/comboutil.h"
>
> /*
> * Constructor for the class
> @@ -226,47 +227,26 @@
> if (!m_populated) {
> clientComboBox->addItem(tr("Any"));
> clientComboBox->addItems(m_console->client_list);
> - int clientIndex = clientComboBox->findText(m_clientName,
> Qt::MatchExactly);
> - if (clientIndex != -1)
> - clientComboBox->setCurrentIndex(clientIndex);
> + comboSel(clientComboBox, m_clientName);
>
> QStringList volumeList;
> m_console->getVolumeList(volumeList);
> volumeComboBox->addItem(tr("Any"));
> volumeComboBox->addItems(volumeList);
> - int volumeIndex = volumeComboBox->findText(m_mediaName,
> Qt::MatchExactly);
> - if (volumeIndex != -1) {
> - volumeComboBox->setCurrentIndex(volumeIndex);
> - }
> + comboSel(volumeComboBox, m_mediaName);
> +
> jobComboBox->addItem(tr("Any"));
> jobComboBox->addItems(m_console->job_list);
> - int jobIndex = jobComboBox->findText(m_jobName, Qt::MatchExactly);
> - if (jobIndex != -1) {
> - jobComboBox->setCurrentIndex(jobIndex);
> - }
> + comboSel(jobComboBox, m_jobName);
>
> - levelComboBox->addItem(tr("Any"));
> - levelComboBox->addItem(job_level_to_str(L_FULL), L_FULL);
> - levelComboBox->addItem(job_level_to_str(L_INCREMENTAL), L_INCREMENTAL);
> - levelComboBox->addItem(job_level_to_str(L_DIFFERENTIAL),
> L_DIFFERENTIAL);
> - levelComboBox->addItem(job_level_to_str(L_SINCE), L_SINCE);
> - levelComboBox->addItem(job_level_to_str(L_VERIFY_CATALOG),
> L_VERIFY_CATALOG);
> - levelComboBox->addItem(job_level_to_str(L_VERIFY_INIT), L_VERIFY_INIT);
> - levelComboBox->addItem(job_level_to_str(L_VERIFY_VOLUME_TO_CATALOG),
> L_VERIFY_VOLUME_TO_CATALOG);
> - levelComboBox->addItem(job_level_to_str(L_VERIFY_DISK_TO_CATALOG),
> L_VERIFY_DISK_TO_CATALOG);
> - levelComboBox->addItem(job_level_to_str(L_VERIFY_DATA), L_VERIFY_DATA);
> - /* levelComboBox->addItem(job_level_to_str(L_BASE), L_BASE); base
> jobs ignored */
> + levelComboFill(levelComboBox);
>
> - purgedComboBox->addItem(tr("Any"), -1);
> - purgedComboBox->addItem(tr("No"), 0);
> - purgedComboBox->addItem(tr("Yes"), 1);
> + boolComboFill(purgedComboBox);
>
> fileSetComboBox->addItem(tr("Any"));
> fileSetComboBox->addItems(m_console->fileset_list);
> - int filesetIndex = fileSetComboBox->findText(m_filesetName,
> Qt::MatchExactly);
> - if (filesetIndex != -1) {
> - fileSetComboBox->setCurrentIndex(filesetIndex);
> - }
> + comboSel(fileSetComboBox, m_filesetName);
> +
> QStringList statusLongList;
> m_console->getStatusList(statusLongList);
> statusComboBox->addItem(tr("Any"));
> @@ -299,36 +279,14 @@
> " LEFT OUTER JOIN Media ON (JobMedia.MediaId=Media.MediaId) ";
> conditions.append("Media.VolumeName='" + m_mediaName + "'");
> }
> - int clientIndex = clientComboBox->currentIndex();
> - if (clientIndex != -1)
> - m_clientName = clientComboBox->itemText(clientIndex);
> - if (m_clientName != tr("Any")) {
> - conditions.append("Client.Name='" + m_clientName + "'");
> - }
> - int jobIndex = jobComboBox->currentIndex();
> - if (jobIndex != -1)
> - m_jobName = jobComboBox->itemText(jobIndex);
> - if ((jobIndex != -1) && (jobComboBox->itemText(jobIndex) != tr("Any"))) {
> - conditions.append("Job.Name='" + jobComboBox->itemText(jobIndex) +
> "'");
> - }
> - int levelIndex = levelComboBox->currentIndex();
> - if ((levelIndex != -1) && (levelComboBox->itemText(levelIndex) !=
> tr("Any"))) {
> - conditions.append(
> QString("Job.Level='%1'").arg(levelComboBox->itemData(levelIndex).toChar()) );
> - }
> - int statusIndex = statusComboBox->currentIndex();
> - if ((statusIndex != -1) && (statusComboBox->itemText(statusIndex) !=
> tr("Any"))) {
> - conditions.append("Status.JobStatusLong='" +
> statusComboBox->itemText(statusIndex) + "'");
> - }
> - int purgedIndex = purgedComboBox->currentIndex();
> - if (purgedIndex != -1 && purgedComboBox->itemData(purgedIndex).toInt() >=
> 0 ) {
> - conditions.append("Job.PurgedFiles='" +
> purgedComboBox->itemData(purgedIndex).toString() + "'");
> - }
> - int fileSetIndex = fileSetComboBox->currentIndex();
> - if (fileSetIndex != -1)
> - m_filesetName = fileSetComboBox->itemText(fileSetIndex);
> - if ((fileSetIndex != -1) && (fileSetComboBox->itemText(fileSetIndex) !=
> tr("Any"))) {
> - conditions.append("FileSet.FileSet='" +
> fileSetComboBox->itemText(fileSetIndex) + "'");
> - }
> +
> + comboCond(conditions, clientComboBox, "Client.Name");
> + comboCond(conditions, jobComboBox, "Job.Name");
> + levelComboCond(conditions, levelComboBox, "Job.Level");
> + comboCond(conditions, statusComboBox, "Status.JobStatusLong");
> + boolComboCond(conditions, purgedComboBox, "Job.PurgedFiles");
> + comboCond(conditions, fileSetComboBox, "FileSet.FileSet");
> +
> /* If Limit check box For limit by days is checked */
> if (daysCheckBox->checkState() == Qt::Checked) {
> QDateTime stamp =
> QDateTime::currentDateTime().addDays(-daysSpinBox->value());
> @@ -448,6 +406,7 @@
> connect(graphButton, SIGNAL(pressed()), this, SLOT(graphTable()));
> #else
> graphButton->setEnabled(false);
> + graphButton->setVisible(false);
> #endif
> /* for the tableItemChanged to maintain m_currentJob */
> connect(mp_tableWidget, SIGNAL(
> @@ -617,9 +576,9 @@
> /*
> * Graph this table
> */
> -#ifdef HAVE_QWT
> void JobList::graphTable()
> {
> +#ifdef HAVE_QWT
> JobPlotPass pass;
> pass.recordLimitCheck = limitCheckBox->checkState();
> pass.daysLimitCheck = daysCheckBox->checkState();
> @@ -635,8 +594,8 @@
> pass.use = true;
> QTreeWidgetItem* pageSelectorTreeWidgetItem = mainWin->getFromHash(this);
> new JobPlot(pageSelectorTreeWidgetItem, pass);
> -}
> #endif
> +}
>
> /*
> * Save user settings associated with this page
> Index: bacula/src/qt-console/joblist/joblist.h
> ===================================================================
> --- bacula/src/qt-console/joblist/joblist.h (revision 7033)
> +++ bacula/src/qt-console/joblist/joblist.h (working copy)
> @@ -68,9 +68,7 @@
> void preRestoreFromTime();
> void showLogForJob();
> void consoleCancelJob();
> -#ifdef HAVE_QWT
> void graphTable();
> -#endif
>
> private:
> void createConnections();
> Index: bacula/src/qt-console/bat.pro.in
> ===================================================================
> --- bacula/src/qt-console/bat.pro.in (revision 7033)
> +++ bacula/src/qt-console/bat.pro.in (working copy)
> @@ -147,8 +147,8 @@
> SOURCES += status/storstat.cpp
>
> # Utility sources
> -HEADERS += util/fmtwidgetitem.h
> -SOURCES += util/fmtwidgetitem.cpp
> +HEADERS += util/fmtwidgetitem.h util/comboutil.h
> +SOURCES += util/fmtwidgetitem.cpp util/comboutil.cpp
>
> INSTALLS += bins
> INSTALLS += confs
> Index: bacula/src/qt-console/util/comboutil.h
> ===================================================================
> --- bacula/src/qt-console/util/comboutil.h (revision 0)
> +++ bacula/src/qt-console/util/comboutil.h (revision 0)
> @@ -0,0 +1,62 @@
> +#ifndef _COMBOUTIL_H_
> +#define _COMBOUTIL_H_
> +/*
> + Bacula - The Network Backup Solution
> +
> + Copyright (C) 2007-2008 Free Software Foundation Europe e.V.
> +
> + The main author of Bacula is Kern Sibbald, with contributions from
> + many others, a complete list can be found in the file AUTHORS.
> + This program is Free Software; you can redistribute it and/or
> + modify it under the terms of version two of the GNU General Public
> + License as published by the Free Software Foundation and included
> + in the file LICENSE.
> +
> + This program is distributed in the hope that it will be useful, but
> + WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + General Public License for more details.
> +
> + You should have received a copy of the GNU General Public License
> + along with this program; if not, write to the Free Software
> + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> + 02110-1301, USA.
> +
> + Bacula is a registered trademark of John Walker.
> + The licensor of Bacula is the Free Software Foundation Europe
> + (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zrich,
> + Switzerland, email:[EMAIL PROTECTED]
> +*/
> +/*
> + * Version $Id$
> + *
> + * Combobox helpers - Riccardo Ghetta, May 2008
> + */
> +
> +class QComboBox;
> +class QString;
> +class QStringList;
> +
> +/* selects value val on combo, if exists */
> +void comboSel(QComboBox *combo, const QString &val);
> +
> +/* if the combo has selected something different from "Any" uses the
> selection
> + * to build a condition on field fldname and adds it to the condition list */
> +void comboCond(QStringList &cndlist, const QComboBox *combo, const char
> *fldname);
> +
> +/* these helpers are used to give an uniform content to common combos.
> + * There are two routines per combo type:
> + * - XXXXComboFill fills the combo with values.
> + * - XXXXComboCond checks the combo and, if selected adds a condition
> + * on the field fldName to the list of conditions cndList
> + */
> +
> +/* boolean combo (yes/no) */
> +void boolComboFill(QComboBox *combo);
> +void boolComboCond(QStringList &cndlist, const QComboBox *combo, const char
> *fldname);
> +
> +/* backup level combo */
> +void levelComboFill(QComboBox *combo);
> +void levelComboCond(QStringList &cndlist, const QComboBox *combo, const char
> *fldname);
> +
> +#endif /* _COMBOUTIL_H_ */
>
> Property changes on: bacula/src/qt-console/util/comboutil.h
> ___________________________________________________________________
> Name: svn:eol-style
> + native
>
> Index: bacula/src/qt-console/util/comboutil.cpp
> ===================================================================
> --- bacula/src/qt-console/util/comboutil.cpp (revision 0)
> +++ bacula/src/qt-console/util/comboutil.cpp (revision 0)
> @@ -0,0 +1,108 @@
> +/*
> + Bacula - The Network Backup Solution
> +
> + Copyright (C) 2007-2008 Free Software Foundation Europe e.V.
> +
> + The main author of Bacula is Kern Sibbald, with contributions from
> + many others, a complete list can be found in the file AUTHORS.
> + This program is Free Software; you can redistribute it and/or
> + modify it under the terms of version two of the GNU General Public
> + License as published by the Free Software Foundation and included
> + in the file LICENSE.
> +
> + This program is distributed in the hope that it will be useful, but
> + WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + General Public License for more details.
> +
> + You should have received a copy of the GNU General Public License
> + along with this program; if not, write to the Free Software
> + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> + 02110-1301, USA.
> +
> + Bacula is a registered trademark of John Walker.
> + The licensor of Bacula is the Free Software Foundation Europe
> + (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zrich,
> + Switzerland, email:[EMAIL PROTECTED]
> +*/
> +
> +/*
> + * Version $Id$
> + *
> + * ComboBox helper functions
> + *
> + * Riccardo Ghetta, May 2008
> + *
> + */
> +
> +#include <QComboBox>
> +#include <QString>
> +#include <QStringList>
> +#include "bat.h"
> +#include "comboutil.h"
> +
> +static const QString QS_ANY(QObject::tr("Any"));
> +
> +
> +/* selects value val on combo, if exists */
> +void comboSel(QComboBox *combo, const QString &val)
> +{
> + int index = combo->findText(val, Qt::MatchExactly);
> + if (index != -1) {
> + combo->setCurrentIndex(index);
> + }
> +}
> +
> +/* if the combo has selected something different from "Any" uses the
> selection
> + * to build a condition on field fldname and adds it to the condition list */
> +void comboCond(QStringList &cndlist, const QComboBox *combo, const char
> *fldname)
> +{
> + int index = combo->currentIndex();
> + if (index != -1 && combo->itemText(index) != QS_ANY) {
> + cndlist.append(
> QString("%1='%2'").arg(fldname).arg(combo->itemText(index)) );
> + }
> +}
> +
> +
> +/* boolean combo (yes/no) */
> +void boolComboFill(QComboBox *combo)
> +{
> + combo->addItem(QS_ANY, -1);
> + combo->addItem(QObject::tr("No"), 0);
> + combo->addItem(QObject::tr("Yes"), 1);
> +}
> +
> +void boolComboCond(QStringList &cndlist, const QComboBox *combo, const char
> *fldname)
> +{
> + int index = combo->currentIndex();
> + if (index != -1 && combo->itemData(index).toInt() >= 0 ) {
> + QString cnd = combo->itemData(index).toString();
> + cndlist.append( QString("%1='%2'").arg(fldname).arg(cnd) );
> + }
> +}
> +
> +/* backup level combo */
> +void levelComboFill(QComboBox *combo)
> +{
> + combo->addItem(QS_ANY);
> + combo->addItem(job_level_to_str(L_FULL), L_FULL);
> + combo->addItem(job_level_to_str(L_INCREMENTAL), L_INCREMENTAL);
> + combo->addItem(job_level_to_str(L_DIFFERENTIAL), L_DIFFERENTIAL);
> + combo->addItem(job_level_to_str(L_SINCE), L_SINCE);
> + combo->addItem(job_level_to_str(L_VERIFY_CATALOG), L_VERIFY_CATALOG);
> + combo->addItem(job_level_to_str(L_VERIFY_INIT), L_VERIFY_INIT);
> + combo->addItem(job_level_to_str(L_VERIFY_VOLUME_TO_CATALOG),
> L_VERIFY_VOLUME_TO_CATALOG);
> + combo->addItem(job_level_to_str(L_VERIFY_DISK_TO_CATALOG),
> L_VERIFY_DISK_TO_CATALOG);
> + combo->addItem(job_level_to_str(L_VERIFY_DATA), L_VERIFY_DATA);
> + /* combo->addItem(job_level_to_str(L_BASE), L_BASE); base jobs ignored
> */
> +}
> +
> +void levelComboCond(QStringList &cndlist, const QComboBox *combo, const char
> *fldname)
> +{
> + int index = combo->currentIndex();
> + if (index != -1 && combo->itemText(index) != QS_ANY ) {
> + QString cnd = combo->itemData(index).toChar();
> + cndlist.append( QString("%1='%2'").arg(fldname).arg(cnd) );
> + }
> +}
> +
>
> Property changes on: bacula/src/qt-console/util/comboutil.cpp
> ___________________________________________________________________
> Name: svn:eol-style
> + native
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________ Bacula-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel