X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyx_gui_misc.C;h=96959eb131b77010bd5e319a122a645ddcb5f32c;hb=77e706c44175f3cf71473a42d5db890c77b3b7b3;hp=0260d6d28268d68f4cc8e6a194620435976c01d8;hpb=c35b288b74ac9b1450a81c1520292ab95735bb0f;p=lyx.git diff --git a/src/lyx_gui_misc.C b/src/lyx_gui_misc.C index 0260d6d282..96959eb131 100644 --- a/src/lyx_gui_misc.C +++ b/src/lyx_gui_misc.C @@ -1,13 +1,13 @@ // -*- C++ -*- /* This file is part of - * ====================================================== + * ====================================================== * * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2000 The LyX Team. * - * ======================================================*/ + * ====================================================== */ #include @@ -30,13 +30,15 @@ #include "print_form.h" #include "sp_form.h" #include "insets/insetindex.h" +#include "LyXView.h" -extern MiniBuffer *minibuffer; -extern BufferView *current_view; +using std::pair; +using std::make_pair; + +extern BufferView * current_view; extern FD_form_paragraph * fd_form_paragraph; extern FD_form_paragraph_extra * fd_form_paragraph_extra; -extern FD_form_search * fd_form_search; extern FD_form_character * fd_form_character; extern FD_form_document * fd_form_document; extern FD_form_paper * fd_form_paper; @@ -49,9 +51,6 @@ extern FD_form_sendto * fd_form_sendto; extern FD_form_figure * fd_form_figure; extern FD_form_toc * fd_form_toc; extern FD_form_ref * fd_form_ref; -#if 0 -extern FD_form_url * fd_form_url; -#endif extern FD_form_paragraph_extra * fd_form_paragraph_extra; extern FD_LaTeXLog * fd_latex_log; extern FD_form_spell_check * fd_form_spell_check; @@ -99,9 +98,6 @@ void CloseAllBufferRelatedPopups() if (fd_form_paragraph_extra->form_paragraph_extra->visible) { fl_hide_form(fd_form_paragraph_extra->form_paragraph_extra); } - if (fd_form_search->form_search->visible) { - fl_hide_form(fd_form_search->form_search); - } if (fd_form_character->form_character->visible) { fl_hide_form(fd_form_character->form_character); } @@ -129,11 +125,6 @@ void CloseAllBufferRelatedPopups() if (fd_form_ref->form_ref->visible) { fl_hide_form(fd_form_ref->form_ref); } -#if 0 - if (fd_form_url->form_url->visible) { - fl_hide_form(fd_form_url->form_url); - } -#endif if (fd_form_paper->form_paper->visible) { fl_hide_form(fd_form_paper->form_paper); } @@ -235,7 +226,7 @@ void updateAllVisibleBufferRelatedPopups() } } if (fd_form_toc->browser_toc->visible) { - TocUpdateCB(0,0); + TocUpdateCB(0, 0); } #ifdef ALWAYS_UPDATE_REF // Ideally, the RefUpdateCB should be modified so that if the @@ -247,10 +238,10 @@ void updateAllVisibleBufferRelatedPopups() // of course a compromise and an annoyance for users switching // between separate documents. ARRae 241198 if (fd_form_ref->form_ref->visible) { - RefUpdateCB(0,0); + RefUpdateCB(0, 0); } #endif - if (current_view->currentBuffer()->isReadonly()) { + if (current_view->buffer()->isReadonly()) { // a little crude perhaps but it works. ARRae if (fd_form_character->form_character->visible) { fl_hide_form(fd_form_character->form_character); @@ -313,42 +304,47 @@ void updateAllVisibleBufferRelatedPopups() } // Extract shortcut from | string -const char* flyx_shortcut_extract(const char*sc) +char const * flyx_shortcut_extract(char const * sc) { // Find '|' in the sc and return the string after that. - register const char *sd = sc; - while(sd[0]!=0 && sd[0] != '|') sd++; + register char const * sd = sc; + while(sd[0]!= 0 && sd[0] != '|') ++sd; - if (sd[0]=='|') { - sd++; + if (sd[0] == '|') { + ++sd; //lyxerr << sd << endl; return sd; } return ""; } + // Extract identifier from | string -const char* flyx_ident_extract(const char *sc) +char const * flyx_ident_extract(char const * sc) { - register const char *se = sc; - while(se[0]!=0 && se[0] != '|') se++; + register char const * se = sc; + while(se[0]!= 0 && se[0] != '|') ++se; - if (se[0]==0) return sc; + if (se[0] == 0) return sc; - char * sb = new char[se-sc + 1]; + char * sb = new char[se - sc + 1]; int index = 0; - register const char *sd = sc; + register char const * sd = sc; while (sd != se) { sb[index] = sd[0]; - index++; sd++; + ++index; ++sd; } - sb[index]=0; + sb[index] = 0; return sb; } + // void WriteAlert(string const & s1, string const & s2, string const & s3) { + MiniBuffer * minibuffer = 0; + if (current_view && current_view->owner()) + minibuffer = current_view->owner()->getMiniBuffer(); if (minibuffer) { ProhibitInput(); minibuffer->Set(s1, s2, s3); @@ -373,51 +369,43 @@ bool AskQuestion(string const & s1, string const & s2, string const & s3) { fl_set_resource("flQuestion.yes.label", idex(_("Yes|Yy#y"))); fl_set_resource("flQuestion.no.label", idex(_("No|Nn#n"))); -#if FL_REVISION > 85 return fl_show_question((s1 + "\n" + s2 + "\n" + s3).c_str(), 0); -#else - return fl_show_question(s1.c_str(), s2.c_str(), s3.c_str()); -#endif } + // Returns 1 for yes, 2 for no, 3 for cancel. int AskConfirmation(string const & s1, string const & s2, string const & s3) { fl_set_choices_shortcut(scex(_("Yes|Yy#y")), scex(_("No|Nn#n")), scex(_("Cancel|^["))); -#if FL_REVISION < 86 - return fl_show_choice(s1.c_str(), s2.c_str(), s3.c_str(), - 3, idex(_("Yes|Yy#y")), - idex(_("No|Nn#n")), - idex(_("Cancel|^["))); -#endif -#if FL_REVISION > 85 return fl_show_choice(s1.c_str(), s2.c_str(), s3.c_str(), 3, idex(_("Yes|Yy#y")), idex(_("No|Nn#n")), idex(_("Cancel|^[")), 3); -#endif } // Asks for a text -string askForText(string const & msg, string const & dflt) +pair askForText(string const & msg, string const & dflt) { - string tmp; + char const * tmp; fl_set_resource("flInput.cancel.label", idex(_("Cancel|^["))); fl_set_resource("flInput.ok.label", idex(_("OK|#O"))); fl_set_resource("flInput.clear.label", idex(_("Clear|#e"))); tmp = fl_show_input(msg.c_str(), dflt.c_str()); - return tmp; + if (tmp != 0) + return make_pair(true, tmp); + else + return make_pair(false, string()); } + // Inform the user that the buffer is read-only, and that changes in the // dialog box that is to appear will be ignored. -void WarnReadonly() +void WarnReadonly(string const & file) { WriteAlert(_("Any changes will be ignored"), _("The document is read-only:"), - current_view->currentBuffer()->getFileName()); + file); } -