summaryrefslogtreecommitdiff
path: root/src/main.cpp
blob: e8e7d3673f9f9e94bc7b4deb56ca02a810aa3859 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <kuniqueapplication.h>
#include <tdecmdlineargs.h>
#include <tdeaboutdata.h>
#include <tdelocale.h>
#include <tdeconfig.h>
#include <tdeglobal.h>

#include "model/pulsemodel.h"
#include "ui/mixerwindow.h"
#include "ui/tmixapp.h"

static TDECmdLineOptions options[] = { TDECmdLineLastOption };

int main( int argc, char **argv )
{
    TDEAboutData about(
        "tmix", I18N_NOOP("TMix"),
        "0.1",
        I18N_NOOP("Trinity audio mixer"),
        TDEAboutData::License_GPL_V2,
        "(C) 2024 Trinity Desktop Project"
    );

    TDECmdLineArgs::init( argc, argv, &about );
    TDECmdLineArgs::addCmdLineOptions( options );
    KUniqueApplication::addCmdLineOptions();

    if ( !KUniqueApplication::start() )
        return 0;

    TmixApp app;
    app.disableSessionManagement();

    PulseModel *model = new PulseModel;
    if ( !model->open() ) {
        delete model;
        return 1;
    }

    MixerWindow *win = new MixerWindow( model );
    app.setMainWindow( win );

    TDEConfig *cfg = TDEGlobal::config();
    cfg->setGroup("General");
    if ( !cfg->readBoolEntry("DockInTray", true) )
        win->show();

    return app.exec();
}