Fixed searchclients to handle new Google URLs correctly; added GUI
[movie-schedule] / src / control / maincontroller.cpp
index 5130da7..e409fdc 100644 (file)
@@ -26,6 +26,7 @@
 #include "control/actioncontroller.h"
 #include "control/locationcontroller.h"
 #include "control/itemmodelsortclient.h"
+#include "control/settingscontroller.h"
 #include "ui/aboutdialog.h"
 #include "ui/mainwindow.h"
 #include "ui/theatermodel.h"
@@ -51,6 +52,7 @@ MainController::MainController(MainWindow *main_window, Settings *settings, Cine
                                MovieController *movie_controller,
                                LocationController *location_controller,
                                ActionController *action_controller,
+                               SettingsController *settings_controller,
                                ItemModelSortController *sort_controller,
                                QThread *search_worker)
                                    : _main_window(main_window),
@@ -60,6 +62,7 @@ MainController::MainController(MainWindow *main_window, Settings *settings, Cine
                                    _movie_controller(movie_controller),
                                    _location_controller(location_controller),
                                    _action_controller(action_controller),
+                                   _settings_controller(settings_controller),
                                    _sort_controller(sort_controller),
                                    _search_worker(search_worker),
                                    _connectivity_manager(new ConnectivityManager(this)),
@@ -80,11 +83,14 @@ MainController::MainController(MainWindow *main_window, Settings *settings, Cine
     connect(_main_window, SIGNAL(MovieSelected(MovieKey)), _movie_controller, SLOT(ShowMovie(MovieKey)));
     connect(_main_window, SIGNAL(SearchMovieInWeb(MovieKey)), _action_controller, SLOT(SearchMovieInWeb(MovieKey)));
     connect(_main_window, SIGNAL(OpenLocationDialog()), _location_controller, SLOT(OpenLocationDialog()));
+    connect(_main_window, SIGNAL(OpenOptionsDialog()), _settings_controller, SLOT(OpenSettingsDialog()));
     connect(_main_window, SIGNAL(OpenAboutDialog()), this, SLOT(OpenAboutDialog()));
+    connect(_settings_controller, SIGNAL(SettingsChanged(Settings)), this, SLOT(SettingsChanged(Settings)));
     connect(_location_controller, SIGNAL(Search(Location)), this, SLOT(Search(Location)));
     connect(_connectivity_manager, SIGNAL(Connected()), this, SLOT(NetworkConnected()));
     connect(_connectivity_manager, SIGNAL(Disconnected()), this, SLOT(NetworkDisconnected()));
     connect(_connectivity_manager, SIGNAL(Error()), this, SLOT(NetworkError()));
+    _main_window->SetOrientation(settings->GetOrientationMode());
 }
 
 MainController::~MainController()
@@ -182,6 +188,11 @@ void MainController::NetworkError()
     _main_window->SetError(tr(MSG_NETWORK_ERROR));
 }
 
+void MainController::SettingsChanged(const Settings &settings)
+{
+    _main_window->SetOrientation(settings.GetOrientationMode());
+}
+
 void MainController::SearchTheaters()
 {
     _settings->SetSearchObjectsType(Settings::THEATERS);