Merge master.
[dcpomatic.git] / src / wx / wx_util.cc
index 218a786b2a8f52dd57237416fb5406867e0726ad..c4a7fd5bca9f071b5da875d7a476d0c7d8ce2962 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -123,7 +123,7 @@ int const ThreadedStaticText::_update_event_id = 10000;
  *  @param initial Initial text for the wxStaticText while the computation is being run.
  *  @param fn Function which works out what the wxStaticText content should be and returns it.
  */
-ThreadedStaticText::ThreadedStaticText (wxWindow* parent, wxString initial, function<string ()> fn)
+ThreadedStaticText::ThreadedStaticText (wxWindow* parent, wxString initial, boost::function<string ()> fn)
        : wxStaticText (parent, wxID_ANY, initial)
 {
        Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&ThreadedStaticText::thread_finished, this, _1), _update_event_id);
@@ -139,7 +139,7 @@ ThreadedStaticText::~ThreadedStaticText ()
 
 /** Run our thread and post the result to the GUI thread via AddPendingEvent */
 void
-ThreadedStaticText::run (function<string ()> fn)
+ThreadedStaticText::run (boost::function<string ()> fn)
 try
 {
        wxCommandEvent ev (wxEVT_COMMAND_TEXT_UPDATED, _update_event_id);
@@ -193,7 +193,7 @@ void
 checked_set (wxSpinCtrlDouble* widget, double value)
 {
        /* XXX: completely arbitrary epsilon */
-       if (fabs (widget->GetValue() - value) < 1e-16) {
+       if (fabs (widget->GetValue() - value) > 1e-16) {
                widget->SetValue (value);
        }
 }
@@ -280,6 +280,14 @@ dcpomatic_setup_i18n ()
                locale->AddCatalogLookupPathPrefix (POSIX_LOCALE_PREFIX);
 #endif
 
+#ifdef DCPOMATIC_LINUX
+               /* We have to include the wxWidgets .mo in our distribution,
+                  so we rename it to avoid clashes with any other installation
+                  of wxWidgets.
+               */
+               locale->AddCatalog (wxT ("dcpomatic-wxstd"));
+#endif         
+               
                locale->AddCatalog (wxT ("libdcpomatic-wx"));
                locale->AddCatalog (wxT ("dcpomatic"));
                
@@ -312,14 +320,6 @@ wx_get (wxSpinCtrlDouble* w)
        return w->GetValue ();
 }
 
-void
-run_gui_loop ()
-{
-       while (wxTheApp->Pending ()) {
-               wxTheApp->Dispatch ();
-       }
-}
-
 /** @param s String of the form Context|String
  *  @return translation, or String if no translation is available.
  */