1 /***************************************************************************
2  *   copyright       : (C) 2003-2017 by Pascal Brachet                     *
3  *   http://www.xm1math.net/texmaker/                                      *
4  *                                                                         *
5  *   This program is free software; you can redistribute it and/or modify  *
6  *   it under the terms of the GNU General Public License as published by  *
7  *   the Free Software Foundation; either version 2 of the License, or     *
8  *   (at your option) any later version.                                   *
9  *                                                                         *
10  ***************************************************************************/
11 
12 #include "usertooldialog.h"
13 
UserToolDialog(QWidget * parent,QString name,QStringList names,QStringList commands)14 UserToolDialog::UserToolDialog(QWidget *parent, QString name,QStringList names, QStringList commands ) : QDialog(parent)
15 {
16 setWindowTitle(name);
17 setModal(true);
18 ui.setupUi(this);
19 usualNames=names;
20 usualCommands=commands;
21 previous_index=0;
22 
23 
24 connect(ui.listWidget, SIGNAL(currentRowChanged(int)),this,SLOT(change(int)));
25 connect( ui.pushButtonWizard, SIGNAL(clicked()), this, SLOT(userQuickWizard()));
26 
27 connect( ui.buttonBox, SIGNAL(accepted()), SLOT(slotOk()) );
28 }
29 
~UserToolDialog()30 UserToolDialog::~UserToolDialog()
31 {
32 }
33 
init()34 void UserToolDialog::init()
35 {
36 ui.listWidget->insertItem(0, "Command 1 : "+Name[0] );
37 ui.listWidget->insertItem(1, "Command 2 : "+Name[1] );
38 ui.listWidget->insertItem(2, "Command 3 : "+Name[2] );
39 ui.listWidget->insertItem(3, "Command 4 : "+Name[3] );
40 ui.listWidget->insertItem(4, "Command 5 : "+Name[4] );
41 ui.toolEdit->setText(Tool[0]);
42 ui.itemEdit->setText(Name[0]);
43 ui.listWidget->setCurrentRow(0);
44 connect(ui.itemEdit, SIGNAL(textChanged(const QString &)),this,SLOT(updateItem()));
45 }
46 
change(int index)47 void UserToolDialog::change(int index)
48 {
49 Tool[previous_index]=ui.toolEdit->text();
50 Name[previous_index]=ui.itemEdit->text();
51 ui.toolEdit->setText(Tool[index]);
52 ui.itemEdit->setText(Name[index]);
53 previous_index=index;
54 }
55 
slotOk()56 void UserToolDialog::slotOk()
57 {
58 Tool[previous_index]=ui.toolEdit->text();
59 Name[previous_index]=ui.itemEdit->text();
60 accept();
61 }
62 
updateItem()63 void UserToolDialog::updateItem()
64 {
65 int i=ui.listWidget->currentRow();
66 ui.listWidget->item(i)->setText("Command "+QString::number(i+1)+" : "+ui.itemEdit->text());
67 }
68 
userQuickWizard()69 void UserToolDialog::userQuickWizard()
70 {
71 userquickdlg= new UserQuickDialog(this,usualNames,usualCommands);
72 if ( userquickdlg->exec() )
73    {
74    ui.toolEdit->setText(userquickdlg->userQuickCommand);
75    }
76 delete (userquickdlg);
77 }
78