Mercurial > hg > octave-lyh
changeset 16440:aaf024ac8015
Add editor print menu/toolbutton implementation
* libgui/src/icons/fileprint.png: New file.
* file-editor-tab.cc, file-editor-tab.h (file_editor_tab::print_file): New function.
(includes): Added include for Qsci/qsciprinter.h, QPrintDialog.
* file-editor.cc, file-editor.h (file_editor::request_print_file): New function.
(file_editor::construct): Add new print QAction to menu and toolbar.
(file::editor::fetab_print_file): New signal.
* libgui/src/resource.qrc: Added fileprint.png as a resource.
* libgui/src/module.mk: Added fileprint.png as an icon.
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Thu, 04 Apr 2013 22:22:17 -0400 |
parents | 7762d56dbc8a |
children | ee652dcc9ecc |
files | libgui/src/icons/fileprint.png libgui/src/m-editor/file-editor-tab.cc libgui/src/m-editor/file-editor-tab.h libgui/src/m-editor/file-editor.cc libgui/src/m-editor/file-editor.h libgui/src/module.mk libgui/src/resource.qrc |
diffstat | 7 files changed, 49 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 index 0000000000000000000000000000000000000000..bbbac94c15b45ab65c0148ddd5169d196eada9bf GIT binary patch literal 1482 zc$@*s1vUDKP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F8000G%Nkl<ZScUCZ z%WqUw82_Df?#$dfcV3-=zMv1FFGD0@L+!XRK{2h7r0GHuDmz1ruISo70ax;JTQ^iT zKtN2a8?XzYX(GW;5ef>ewjJ6sGxv2~E~f9!RB4TF{3YL=`<?IH`~ALe&i9>jiPjpG z(A(SFS5;M&7D9^kHbN>swhYD?b6qc(p8jKSczC$HBdv8=>Fetwmo8nJ(OPSz^p?@x z-F^J><twz3AEOd`&N+PF^RxyW$61VeW7y@!mJkky(ca$PaP;W=s?r=<$v_B!)}>Sv zLMl3{6xotwvu}P@k>O?p{w@4ZpdtazIbyMx+^&OIET#ts2P^uiXsEBRXSQu`sQ*`m zX_`29?tDdiMFJljJC+HBLiL<)or9DThG9fbocNHvGJ#OYumdhEr7D*2U!qis$~biB z(4O0OZkMg&HI3-}`3vUc<RmkrrfzI#Ac=SqQc7^nL4Y;=SFgIR8(ew0VIc4Wj6WYI zH*emGUcdGY>gwv{$&(*>OLNH5Uhu`4b8T&HE!V43RlEJb_ob8uB_!I~+6JXm>D^ib zq~xfitF=BiC<H&=y9d)W11UJt>5R(da!()r@~HdMPd=VlL!hUpr)O~Rt81~CjhBT2 zz8<;=-}k{NgVH6Bgb+~1KxruxOTS7gXlN*<A*Fy`oUc(@2c~JFzrP=LG>UvakN*DS zhi}~Y_WLz|K{A<4QcB>u9t!z9cJFRLYfBp<kuV6QfYzXlVRmK~gaGMu)pC0lLL!%& zg^&uhwY88!f-I9{c>e4+<nwt@LO>}+B9TmPSOazSyQ&GLP)dP-KyZ#nj~*hO&cL!P z5K0gUM_}7ggu`J(!V!4B2O%VE+eS@o9fS~2QleNaqEN`gaa<JhdCbgCqp`6ON^4L` zQNL?f^#%g*c&wID3MCal03ifi$HC0>G=va~sV%JoLMaFcT+am$I84)o9|Z7R2cGM} z_kB37gTN2qxh|}zjl*xh1E7?FSS(h%hQO(T0ovT$+)OA12tYvaa()4v2arlZ2m!$b zgy7(ugL47FIh0Zmk|Xc~2q7V*gcJf&Do9n*xd`CR2XGt*=}ZQcQe-ljJ*Nf+=;x<T ztN(m2FaRKC$7nK<Y-E&zF$Sd-ip9cmL|n*H7DOova+S^nU(C*;NDd(sq~H)jAm9Ol zAb{f(VHgaQF(ebo#yNYA0#F73jEs!X*AE=XFveg2a2*#Tw|;=u8cHcBtstd>k`hv> z(wJ0GYL&hyQb}m3AeDkv3PMVFu7ibz1sI_a7$Gn%YsbjQ2wl#A;}qH4+>3<gd6=2a z;n}n2@P&Y3gaAgt05Ah<I^p`xxN=LDj941-eGdyS^O&6c9Xm5sn45c%betkvCcrtz z<Hr+rzEH%Ir@!LCg9n(OUw~y=*wA0M0MGaF<jGTHcI<>131ed7iOo4*Sp!Ndy(5#h z48uTsYYX<j){bn~8&F!|Z=Ak2g$6(=1tAnQwKXsdhICcRR9fj}0+wZo(b3V1<3Eq@ zHzOt~7K@QcB+`;jr$bV1?@U4|#pKkah}rhI2DtD0x=<*LS(YV$ReQm~g9nM@I?+%l zL|n(UdwY8?_xJaA77B$;kKUU`uQlTFI4*p7;r7)lSKmveQeMCV9krv**yz|w1^{4e zY)k_vE~<s0p&_THrUtfcZ;L=8kwCU9JA3xb+1YY)%6^zoN)vbQ-fgI^u0}i_-;(ns zSeAu-`}Q>vLZVu0r!33$($v({k;~-@TmK+ii>axpxtiLVz2$tBZN=Gawl$SX+1m<z z71HT+s;jGOZ#i380-c?m9hCla+eA1VMz$;4QO>qp1*>u7-6LHc?HzAPDZMh!yfPSL kk^4X0A0Ga0_|AIUpYQdhxg}6*(*OVf07*qoM6N<$f{dBDfdBvi
--- a/libgui/src/m-editor/file-editor-tab.cc +++ b/libgui/src/m-editor/file-editor-tab.cc @@ -35,6 +35,7 @@ #include <Qsci/qscilexerperl.h> #include <Qsci/qscilexerbatch.h> #include <Qsci/qscilexerdiff.h> +#include <Qsci/qsciprinter.h> #include "resource-manager.h" #include <QApplication> #include <QFileDialog> @@ -42,6 +43,7 @@ #include <QTextStream> #include <QVBoxLayout> #include <QInputDialog> +#include <QPrintDialog> #include "file-editor-tab.h" #include "file-editor.h" @@ -332,6 +334,24 @@ } void +file_editor_tab::print_file (const QWidget* ID) +{ + if (ID != this) + return; + + QsciPrinter * printer = new QsciPrinter( QPrinter::HighResolution ); + + QPrintDialog printDlg(printer, this); + + if(printDlg.exec() == QDialog::Accepted) + { + printer->printRange(_edit_area); + } + delete printer; +} + + +void file_editor_tab::run_file_callback (void) { // Maybe someday we will do something here?
--- a/libgui/src/m-editor/file-editor-tab.h +++ b/libgui/src/m-editor/file-editor-tab.h @@ -62,6 +62,7 @@ void save_file (const QWidget* ID); void save_file (const QWidget* ID, const QString& fileName, bool remove_on_success); void save_file_as (const QWidget* ID); + void print_file (const QWidget* ID); void run_file (const QWidget* ID); void toggle_bookmark (const QWidget* ID); void next_bookmark (const QWidget* ID);
--- a/libgui/src/m-editor/file-editor.cc +++ b/libgui/src/m-editor/file-editor.cc @@ -397,6 +397,13 @@ } void +file_editor::request_print_file () +{ + emit fetab_print_file (_tab_widget->currentWidget ()); +} + + +void file_editor::request_run_file () { emit fetab_run_file (_tab_widget->currentWidget ()); @@ -626,6 +633,10 @@ = new QAction (QIcon(":/actions/icons/filesaveas.png"), tr("Save File &As"), _tool_bar); + QAction *print_action + = new QAction ( QIcon(":/actions/icons/fileprint.png"), + tr ("Print"), _tool_bar); + QAction *undo_action = new QAction (QIcon(":/actions/icons/undo.png"), tr("&Undo"), _tool_bar); @@ -689,6 +700,10 @@ save_action->setShortcutContext (Qt::WindowShortcut); save_as_action->setShortcut (QKeySequence::SaveAs); save_as_action->setShortcutContext (Qt::WindowShortcut); + + print_action->setShortcut (QKeySequence::Print); + print_action->setShortcutContext (Qt::WindowShortcut); + next_bookmark_action->setShortcut (Qt::Key_F2); next_bookmark_action->setShortcutContext (Qt::WindowShortcut); previous_bookmark_action->setShortcut (Qt::SHIFT + Qt::Key_F2); @@ -710,6 +725,8 @@ _tool_bar->addAction (save_action); _tool_bar->addAction (save_as_action); _tool_bar->addSeparator (); + _tool_bar->addAction(print_action); + _tool_bar->addSeparator (); _tool_bar->addAction (undo_action); _tool_bar->addAction (redo_action); _tool_bar->addAction (_copy_action); @@ -739,6 +756,9 @@ fileMenu->addMenu (_mru_file_menu); _menu_bar->addMenu (fileMenu); + fileMenu->addSeparator (); + fileMenu->addAction (print_action); + QMenu *editMenu = new QMenu (tr ("&Edit"), _menu_bar); editMenu->addAction (undo_action); editMenu->addAction (redo_action); @@ -799,6 +819,8 @@ SIGNAL (triggered ()), this, SLOT (request_save_file ())); connect (save_as_action, SIGNAL (triggered ()), this, SLOT (request_save_file_as ())); + connect (print_action, + SIGNAL (triggered ()), this, SLOT (request_print_file ())); connect (_run_action, SIGNAL (triggered ()), this, SLOT (request_run_file ())); connect (toggle_bookmark_action, @@ -899,6 +921,8 @@ f, SLOT (save_file (const QWidget*))); connect (this, SIGNAL (fetab_save_file_as (const QWidget*)), f, SLOT (save_file_as (const QWidget*))); + connect (this, SIGNAL (fetab_print_file (const QWidget*)), + f, SLOT (print_file (const QWidget*))); connect (this, SIGNAL (fetab_run_file (const QWidget*)), f, SLOT (run_file (const QWidget*))); connect (this, SIGNAL (fetab_toggle_bookmark (const QWidget*)),
--- a/libgui/src/m-editor/file-editor.h +++ b/libgui/src/m-editor/file-editor.h @@ -76,6 +76,7 @@ void fetab_paste (const QWidget* ID); void fetab_save_file (const QWidget* ID); void fetab_save_file_as (const QWidget* ID); + void fetab_print_file (const QWidget* ID); void fetab_run_file (const QWidget* ID); void fetab_toggle_bookmark (const QWidget* ID); void fetab_next_bookmark (const QWidget* ID); @@ -98,6 +99,7 @@ void request_new_file (); void request_open_file (); void request_mru_open_file (); + void request_print_file (); void request_undo (); void request_redo ();