]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/qt_helpers.cpp
QDialogButtonBox for the remaining dialogs.
[lyx.git] / src / frontends / qt4 / qt_helpers.cpp
index 92b1187317fa9654cdc8ec1561e35761948639c0..bc15bc7d01fa29b316f9e00fc2337625225a1881 100644 (file)
@@ -35,6 +35,7 @@
 #include "support/PathChanger.h"
 #include "support/Systemcall.h"
 
+#include <QApplication>
 #include <QCheckBox>
 #include <QComboBox>
 #include <QLineEdit>
@@ -90,7 +91,7 @@ double locstringToDouble(QString const & str)
        return res;
 }
 
-} // namespace anon
+} // namespace
 
 
 namespace frontend {
@@ -213,6 +214,12 @@ QString formatLocFPNumber(double d)
 }
 
 
+bool SortLocaleAware(QString const & lhs, QString const & rhs)
+{
+       return QString::localeAwareCompare(lhs, rhs) < 0;
+}
+
+
 bool ColorSorter(ColorCode lhs, ColorCode rhs)
 {
        return compare_no_case(lcolor.getGUIName(lhs), lcolor.getGUIName(rhs)) < 0;
@@ -230,6 +237,27 @@ void setValid(QWidget * widget, bool valid)
        }
 }
 
+
+void focusAndHighlight(QAbstractItemView * w)
+{
+       w->setFocus();
+       w->setCurrentIndex(w->currentIndex());
+       w->scrollTo(w->currentIndex());
+}
+
+
+void setMessageColour(list<QWidget *> highlighted, list<QWidget *> plain)
+{
+       QPalette pal = QApplication::palette();
+       QPalette newpal(pal.color(QPalette::Active, QPalette::HighlightedText),
+                       pal.color(QPalette::Active, QPalette::Highlight));
+       for (QWidget * w : highlighted)
+               w->setPalette(newpal);
+       for (QWidget * w : plain)
+               w->setPalette(pal);
+}
+
+
 /// wrapper to hide the change of method name to setSectionResizeMode
 void setSectionResizeMode(QHeaderView * view,
     int logicalIndex, QHeaderView::ResizeMode mode) {
@@ -293,18 +321,18 @@ QStringList texFileList(QString const & filename)
                return list;
 
        // FIXME Unicode.
-       vector<docstring> doclist = 
+       vector<docstring> doclist =
                getVectorFromString(file.fileContents("UTF-8"), from_ascii("\n"));
 
        // Normalise paths like /foo//bar ==> /foo/bar
        QSet<QString> set;
        for (size_t i = 0; i != doclist.size(); ++i) {
-               QString file = toqstr(doclist[i]);
-               file.replace("\r", "");
-               while (file.contains("//"))
-                       file.replace("//", "/");
-               if (!file.isEmpty())
-                       set.insert(file);
+               QString qfile = toqstr(doclist[i]);
+               qfile.replace("\r", "");
+               while (qfile.contains("//"))
+                       qfile.replace("//", "/");
+               if (!qfile.isEmpty())
+                       set.insert(qfile);
        }
 
        // remove duplicates
@@ -327,7 +355,7 @@ QString const externalLineEnding(docstring const & str)
 
 docstring const internalLineEnding(QString const & str)
 {
-       docstring const s = subst(qstring_to_ucs4(str), 
+       docstring const s = subst(qstring_to_ucs4(str),
                                  from_ascii("\r\n"), from_ascii("\n"));
        return subst(s, '\r', '\n');
 }
@@ -526,7 +554,7 @@ FileFilterList::FileFilterList(docstring const & qt_style_filter)
        string const filter = to_utf8(qt_style_filter)
                + (qt_style_filter.empty() ? string() : ";;")
                + to_utf8(_("All Files "))
-#if defined(_WIN32)            
+#if defined(_WIN32)
                + ("(*.*)");
 #else
                + ("(*)");