Author: rgheck
Date: Sun Oct 30 21:07:46 2011
New Revision: 40102
URL: http://www.lyx.org/trac/changeset/40102

Log:
Backport fix for #7764: Sort the file lists under
Document>Settings>Output.

It turns out that we always want this list to be sorted when we get it,
so we can sort it in BufferParams rather than in three different places.

Modified:
   lyx-devel/branches/BRANCH_2_0_X/src/BufferParams.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/GuiSendto.cpp
   lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/Menus.cpp
   lyx-devel/branches/BRANCH_2_0_X/status.20x

Modified: lyx-devel/branches/BRANCH_2_0_X/src/BufferParams.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/BufferParams.cpp        Sun Oct 30 
21:02:14 2011        (r40101)
+++ lyx-devel/branches/BRANCH_2_0_X/src/BufferParams.cpp        Sun Oct 30 
21:07:46 2011        (r40102)
@@ -2078,6 +2078,13 @@
 }
 
 
+namespace {
+bool formatSorter(Format const * lhs, Format const * rhs) {
+       return _(lhs->prettyname()) < _(rhs->prettyname());
+}
+}
+
+
 vector<Format const *> BufferParams::exportableFormats(bool only_viewable) 
const
 {
        vector<string> const backs = backends();
@@ -2094,6 +2101,7 @@
                        theConverters().getReachable(*it, only_viewable, false, 
excludes);
                result.insert(result.end(), r.begin(), r.end());
        }
+       sort(result.begin(), result.end(), formatSorter);
        return result;
 }
 

Modified: lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/GuiSendto.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/GuiSendto.cpp     Sun Oct 
30 21:02:14 2011        (r40101)
+++ lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/GuiSendto.cpp     Sun Oct 
30 21:07:46 2011        (r40102)
@@ -69,19 +69,10 @@
 }
 
 
-namespace {
-bool formatSorter(Format const * lhs, Format const * rhs) {
-       return _(lhs->prettyname()) < _(rhs->prettyname());
-}
-} // end namespace
-
-
 void GuiSendTo::updateContents()
 {
        all_formats_ = buffer().params().exportableFormats(false);
        
-       sort(all_formats_.begin(), all_formats_.end(), formatSorter);
-
        // Save the current selection if any
        Format const * current_format = 0;
        int const line = formatLW->currentRow();

Modified: lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/Menus.cpp
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/Menus.cpp Sun Oct 30 
21:02:14 2011        (r40101)
+++ lyx-devel/branches/BRANCH_2_0_X/src/frontends/qt4/Menus.cpp Sun Oct 30 
21:07:46 2011        (r40102)
@@ -723,12 +723,6 @@
 }
 
 
-bool compareFormat(Format const * p1, Format const * p2)
-{
-       return *p1 < *p2;
-}
-
-
 QString limitStringLength(docstring const & str)
 {
        size_t const max_item_length = 45;
@@ -1018,7 +1012,6 @@
                formats = buf->params().exportableFormats(false);
                action = LFUN_BUFFER_EXPORT;
        }
-       sort(formats.begin(), formats.end(), &compareFormat);
 
        bool const view_update = (kind == MenuItem::ViewFormats
                        || kind == MenuItem::UpdateFormats);

Modified: lyx-devel/branches/BRANCH_2_0_X/status.20x
==============================================================================
--- lyx-devel/branches/BRANCH_2_0_X/status.20x  Sun Oct 30 21:02:14 2011        
(r40101)
+++ lyx-devel/branches/BRANCH_2_0_X/status.20x  Sun Oct 30 21:07:46 2011        
(r40102)
@@ -231,6 +231,8 @@
 
 - Fix change of language of selected text with context menu (bug 7778).
 
+- Sort formats under Document>Settings>Output (bug 7758).
+
 
 * ADVANCED FIND AND REPLACE
 

Reply via email to