blob: 4fd53fd23c601682335dde91cd6d75c04737559f [file] [log] [blame]
Edric Milaret627500d2015-03-27 16:41:40 -04001/***************************************************************************
Edric Milaretbab169d2016-01-07 15:13:33 -05002 * Copyright (C) 2015-2016 by Savoir-faire Linux *
Edric Milaret627500d2015-03-27 16:41:40 -04003 * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 3 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
17 **************************************************************************/
18
19#include "mainwindow.h"
20#include <QApplication>
21#include <QFile>
22
Edric Milaret12353822015-05-14 14:41:09 -040023#include "callmodel.h"
Edric Milaret1b197eb2015-06-01 15:09:56 -040024#include "media/audio.h"
25#include "media/video.h"
26#include "media/text.h"
27#include "media/file.h"
Edric Milaret12353822015-05-14 14:41:09 -040028#include <iostream>
29
30#include <QThread>
Edric Milaret53ac6e52015-09-14 13:37:06 -040031#include <QTranslator>
32#include <QLibraryInfo>
Edric Milaret12353822015-05-14 14:41:09 -040033
Edric Milaretb37aa1f2015-07-09 16:39:04 -040034#ifdef Q_OS_WIN32
Edric Milaret12353822015-05-14 14:41:09 -040035#include <windows.h>
Edric Milaretb37aa1f2015-07-09 16:39:04 -040036#endif
Edric Milaret12353822015-05-14 14:41:09 -040037
Edric Milaret1b197eb2015-06-01 15:09:56 -040038REGISTER_MEDIA();
39
Edric Milaret5c3ff7c2015-06-22 10:30:08 -040040void
41Console()
42{
Edric Milaretb37aa1f2015-07-09 16:39:04 -040043#ifdef Q_OS_WIN32
Edric Milaret5c3ff7c2015-06-22 10:30:08 -040044 AllocConsole();
45 freopen("CONOUT$", "w", stdout);
46 freopen("CONOUT$", "w", stderr);
47
48 COORD coordInfo;
49 coordInfo.X = 130;
50 coordInfo.Y = 9000;
51
52 SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), coordInfo);
53 SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE),ENABLE_QUICK_EDIT_MODE| ENABLE_EXTENDED_FLAGS);
Edric Milaretb37aa1f2015-07-09 16:39:04 -040054#endif
Edric Milaret5c3ff7c2015-06-22 10:30:08 -040055}
56
Edric Milaret627500d2015-03-27 16:41:40 -040057int
58main(int argc, char *argv[])
59{
60 QApplication a(argc, argv);
61
Edric Milaret5c3ff7c2015-06-22 10:30:08 -040062 auto startMinimized = false;
63
64 for (auto string : QCoreApplication::arguments()) {
65 if (string == "-m" || string == "--minimized")
66 startMinimized = true;
67 if (string == "-d" || string == "--debug")
68 Console();
69 }
70
Edric Milaret53ac6e52015-09-14 13:37:06 -040071 QTranslator qtTranslator;
72 qtTranslator.load("qt_" + QLocale::system().name(),
73 QLibraryInfo::location(QLibraryInfo::TranslationsPath));
74 a.installTranslator(&qtTranslator);
75
76 QTranslator lrcTranslator;
77 lrcTranslator.load("share/libringclient/translations/lrc_" + QLocale::system().name());
78 a.installTranslator(&lrcTranslator);
79
80 QTranslator mainTranslator;
81 mainTranslator.load("share/ring/translations/ring_client_windows_" + QLocale::system().name());
82 a.installTranslator(&mainTranslator);
83
Edric Milaret627500d2015-03-27 16:41:40 -040084 QFont font;
85 font.setFamily("Segoe UI");
86 a.setFont(font);
87
88 QFile file(":/stylesheet.css");
89 if(file.open(QIODevice::ReadOnly | QIODevice::Text))
90 {
91 a.setStyleSheet(file.readAll());
92 file.close();
93 }
94
Edric Milaretb25af972015-06-17 16:55:45 -040095 QCoreApplication::setOrganizationName("Savoir-faire Linux");
96 QCoreApplication::setOrganizationDomain("ring.cx");
97 QCoreApplication::setApplicationName("Ring");
98
Edric Milaret627500d2015-03-27 16:41:40 -040099 MainWindow w;
Edric Milaret90bd5a82015-06-08 10:07:59 -0400100
Edric Milaret90bd5a82015-06-08 10:07:59 -0400101 if (not startMinimized)
102 w.show();
103 else
104 w.showMinimized();
Edric Milaret627500d2015-03-27 16:41:40 -0400105
Edric Milaret2cf34292015-06-22 16:27:03 -0400106 w.createThumbBar();
107
Edric Milaret627500d2015-03-27 16:41:40 -0400108 return a.exec();
109}