@@ -54,9 +54,9 @@ UserMenuDialog::UserMenuDialog(QWidget *parent, QString name, QLanguageFactory
54
54
connect (ui.pbImport ,SIGNAL (clicked ()), SLOT (importMacro ()));
55
55
connect (ui.pbBrowse ,SIGNAL (clicked ()), SLOT (browseMacrosOnRepository ()));
56
56
57
- connect (ui.radioButtonNormal , SIGNAL (clicked ()), SLOT (changeTypeToNormal ()));
58
- connect (ui.radioButtonEnvironment , SIGNAL (clicked ()), SLOT (changeTypeToEnvironment ()));
59
- connect (ui.radioButtonScript , SIGNAL (clicked ()), SLOT (changeTypeToScript ()));
57
+ connect (ui.radioButtonNormal , SIGNAL (clicked ()), SLOT (changeType ()));
58
+ connect (ui.radioButtonEnvironment , SIGNAL (clicked ()), SLOT (changeType ()));
59
+ connect (ui.radioButtonScript , SIGNAL (clicked ()), SLOT (changeType ()));
60
60
61
61
// editor options
62
62
ui.tagEdit ->setLayout (new QVBoxLayout ());
@@ -127,7 +127,6 @@ UserMenuDialog::UserMenuDialog(QWidget *parent, QString name, QLanguageFactory
127
127
128
128
codeedit->editor ()->clearFocus ();
129
129
ui.pbBrowse ->setFocus ();
130
-
131
130
}
132
131
133
132
UserMenuDialog::~UserMenuDialog ()
@@ -292,27 +291,31 @@ void UserMenuDialog::change(QTreeWidgetItem *current,QTreeWidgetItem *previous)
292
291
if (m.description != ui.teDescription ->toPlainText ())
293
292
ui.teDescription ->setPlainText (m.description );
294
293
295
- if (codeedit->editor ()->text () != m.typedTag ()) {
296
- codeedit->editor ()->setText (m.typedTag (), false );
297
- setLanguageFromText ( );
294
+ if (codeedit->editor ()->text () != m.getTag ()) {
295
+ codeedit->editor ()->setText (m.getTag (), false );
296
+ setLanguageFromType (current );
298
297
codeedit->editor ()->setFlag (QEditor::CursorOn,false );
299
298
codeedit->editor ()->repaintCursor ();
300
299
}
301
300
}
302
301
}
303
302
304
- void UserMenuDialog::setLanguageFromText ( void )
303
+ void UserMenuDialog::setLanguageFromType (QTreeWidgetItem *current )
305
304
{
306
- QString line = codeedit->editor ()->text (0 );
307
- if (line == " %SCRIPT" ) {
308
- languages->setLanguage (codeedit->editor (), " .qs" );
309
- ui.radioButtonScript ->setChecked (true );
310
- } else if (line.startsWith (" %" ) && !line.startsWith (" %%" )) {
311
- languages->setLanguage (codeedit->editor (), " " );
312
- ui.radioButtonEnvironment ->setChecked (true );
313
- } else {
314
- languages->setLanguage (codeedit->editor (), " (La)TeX Macro" );
315
- ui.radioButtonNormal ->setChecked (true );
305
+ if (current==nullptr ) return ;
306
+ QVariant v = current->data (0 ,Qt::UserRole);
307
+ if (v.isValid ()){
308
+ Macro m = v.value <Macro>();
309
+ if (m.type ==Macro::Script) {
310
+ languages->setLanguage (codeedit->editor (), " .qs" );
311
+ ui.radioButtonScript ->setChecked (true );
312
+ } else if (m.type ==Macro::Environment) {
313
+ languages->setLanguage (codeedit->editor (), " Plain text" );
314
+ ui.radioButtonEnvironment ->setChecked (true );
315
+ } else {
316
+ languages->setLanguage (codeedit->editor (), " (La)TeX Macro" );
317
+ ui.radioButtonNormal ->setChecked (true );
318
+ }
316
319
}
317
320
}
318
321
@@ -322,7 +325,7 @@ void UserMenuDialog::slotOk()
322
325
}
323
326
void UserMenuDialog::slotExecMacro ()
324
327
{
325
- QTreeWidgetItem *item= ui.treeWidget ->currentItem ();
328
+ QTreeWidgetItem *item = ui.treeWidget ->currentItem ();
326
329
if (item==nullptr ) return ;
327
330
QVariant v = item->data (0 ,Qt::UserRole);
328
331
if (v.isValid ()){
@@ -481,52 +484,39 @@ void UserMenuDialog::browseMacrosOnRepository(){
481
484
}
482
485
}
483
486
484
- void UserMenuDialog::changeTypeToNormal ()
485
- {
486
- QString cur = codeedit->editor ()->text ();
487
- languages->setLanguage (codeedit->editor (), " (La)TeX Macro" );
488
- if (cur.startsWith (" %SCRIPT\n " )) codeedit->editor ()->setText (cur.mid (8 ), false );
489
- else if (cur.startsWith (" %" ) && !cur.startsWith (" %%" )) codeedit->editor ()->setText (cur.mid (1 ), false );
490
- codeedit->editor ()->setFlag (QEditor::CursorOn,false );
491
- codeedit->editor ()->repaintCursor ();
492
- }
493
-
494
- void UserMenuDialog::changeTypeToEnvironment ()
495
- {
496
- QString cur = codeedit->editor ()->text ();
497
- languages->setLanguage (codeedit->editor (), " " );
498
- if (cur.startsWith (" %SCRIPT\n " )) {
499
- codeedit->editor ()->setText (" %" + cur.mid (8 ), false );
500
- } else {
501
- if (cur.startsWith (" %" ) && !cur.startsWith (" %%" )) return ;
502
- while (cur.startsWith (" %%" )) cur = cur.remove (0 , 2 );
503
- if (!cur.startsWith (" %" )) cur = " %" + cur;
504
- codeedit->editor ()->setText (cur, false );
505
- }
506
- codeedit->editor ()->setFlag (QEditor::CursorOn,false );
507
- codeedit->editor ()->repaintCursor ();
508
- }
509
-
510
- void UserMenuDialog::changeTypeToScript ()
487
+ void UserMenuDialog::changeType ()
511
488
{
512
- QString cur = codeedit->editor ()->text ();
513
- languages->setLanguage (codeedit->editor (), " .qs" );
514
- if (cur.startsWith (" %SCRIPT\n " )) return ;
515
- if (cur.startsWith (" %" ) && !cur.startsWith (" %%" )) cur = cur.mid (1 );
516
- codeedit->editor ()->setText (" %SCRIPT\n " + cur, false );
517
- codeedit->editor ()->setFlag (QEditor::CursorOn,false );
518
- codeedit->editor ()->repaintCursor ();
489
+ QTreeWidgetItem *item = ui.treeWidget ->currentItem ();
490
+ if (item==nullptr ) return ;
491
+ QVariant v = item->data (0 ,Qt::UserRole);
492
+ if (v.isValid ()){
493
+ Macro m = v.value <Macro>();
494
+ if (ui.radioButtonNormal ->isChecked ()) {
495
+ m.setType (Macro::Snippet);
496
+ languages->setLanguage (codeedit->editor (), " (La)TeX Macro" );
497
+ }
498
+ else if (ui.radioButtonEnvironment ->isChecked ()) {
499
+ m.setType (Macro::Environment);
500
+ languages->setLanguage (codeedit->editor (), " Plain text" );
501
+ }
502
+ else if (ui.radioButtonScript ->isChecked ()) {
503
+ m.setType (Macro::Script);
504
+ languages->setLanguage (codeedit->editor (), " .qs" );
505
+ }
506
+ item->setData (0 ,Qt::UserRole,QVariant::fromValue (m));
507
+ codeedit->editor ()->setFlag (QEditor::CursorOn,false );
508
+ codeedit->editor ()->repaintCursor ();
509
+ }
519
510
}
520
511
521
512
void UserMenuDialog::textChanged ()
522
513
{
523
- setLanguageFromText ();
524
514
QTreeWidgetItem *item=ui.treeWidget ->currentItem ();
525
515
if (item==nullptr ) return ;
526
516
QVariant v=item->data (0 ,Qt::UserRole);
527
517
if (v.isValid ()){
528
518
Macro m=v.value <Macro>();
529
- m.setTypedTag (codeedit->editor ()->text ());
519
+ m.setTag (codeedit->editor ()->text ());
530
520
item->setData (0 ,Qt::UserRole,QVariant::fromValue (m));
531
521
}
532
522
}
0 commit comments