maemo-ui/src/mmyth_main.c
author renatofilho
Thu Sep 28 16:02:14 2006 +0100 (2006-09-28)
branchtrunk
changeset 20 7174e23f7617
child 64 f926338c6952
permissions -rw-r--r--
[svn r21] - created maemo-ui;
renatofilho@20
     1
renatofilho@20
     2
#include <gtk/gtk.h>
renatofilho@20
     3
renatofilho@20
     4
#include "config.h"
renatofilho@20
     5
renatofilho@20
     6
#ifdef MAEMO_PLATFORM
renatofilho@20
     7
#include "hildon-widgets/hildon-program.h"
renatofilho@20
     8
#include "hildon-widgets/hildon-window.h"
renatofilho@20
     9
#endif
renatofilho@20
    10
renatofilho@20
    11
renatofilho@20
    12
#include "gmyth_remote_encoder.h"
renatofilho@20
    13
#include "gmyth_settings.h"
renatofilho@20
    14
#include "gmyth_context.h"
renatofilho@20
    15
#include "gmyth_tvchain.h"
renatofilho@20
    16
#include "gmyth_remote_util.h"
renatofilho@20
    17
renatofilho@20
    18
#include "mmyth_ui.h"
renatofilho@20
    19
#include "mmyth_tvplayer.h"
renatofilho@20
    20
renatofilho@20
    21
static void
renatofilho@20
    22
cb_destroy (GtkWidget * widget, gpointer data)
renatofilho@20
    23
{
renatofilho@20
    24
    MMythUi *mmyth_ui = (MMythUi *) data;
renatofilho@20
    25
renatofilho@20
    26
    if (mmyth_ui->tvplayer != NULL) {
renatofilho@20
    27
    	if (mmyth_tvplayer_is_playing (mmyth_ui->tvplayer) )
renatofilho@20
    28
    		mmyth_tvplayer_stop_playing (mmyth_ui->tvplayer);
renatofilho@20
    29
    }
renatofilho@20
    30
renatofilho@20
    31
	mmyth_ui_finalize (mmyth_ui);
renatofilho@20
    32
	
renatofilho@20
    33
    gtk_main_quit ();
renatofilho@20
    34
}
renatofilho@20
    35
renatofilho@20
    36
#ifdef NDEBUG
renatofilho@20
    37
static void
renatofilho@20
    38
debug_error_func( const gchar*log_domain, GLogLevelFlags log_level, const gchar *message,
renatofilho@20
    39
	gpointer user_data )
renatofilho@20
    40
renatofilho@20
    41
{
renatofilho@20
    42
	/* leave this with NO print out messages, once you need to disable debug messages! */
renatofilho@20
    43
	//g_print ( "[%s] DEBUG messages disabled!\n", __FUNCTION__ );
renatofilho@20
    44
}
renatofilho@20
    45
#endif
renatofilho@20
    46
renatofilho@20
    47
gint
renatofilho@20
    48
main (gint argc, gchar * argv[])
renatofilho@20
    49
{
renatofilho@20
    50
    GtkWidget *window;
renatofilho@20
    51
    MMythUi *mmyth_ui;
renatofilho@20
    52
#ifdef MAEMO_PLATFORM
renatofilho@20
    53
    HildonProgram *program = NULL;
renatofilho@20
    54
#endif
renatofilho@20
    55
renatofilho@20
    56
    /* init threads */
renatofilho@20
    57
    g_thread_init (NULL);
renatofilho@20
    58
renatofilho@20
    59
    /* Initializes GTK */
renatofilho@20
    60
    gtk_init (&argc, &argv);
renatofilho@20
    61
    gst_init (&argc, &argv);
renatofilho@20
    62
#ifdef NDEBUG
renatofilho@20
    63
 g_log_set_default_handler( debug_error_func, NULL );
renatofilho@20
    64
#endif
renatofilho@20
    65
renatofilho@20
    66
    /* Init libmmyth context */
renatofilho@20
    67
    gmyth_context_initialize ();
renatofilho@20
    68
	
renatofilho@20
    69
#ifndef MAEMO_PLATFORM
renatofilho@20
    70
    /* create the main window */
renatofilho@20
    71
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
renatofilho@20
    72
    gtk_widget_set_size_request (window, MAIN_WINDOW_WIDTH, MAIN_WINDOW_HEIGHT);
renatofilho@20
    73
    gtk_window_set_title (GTK_WINDOW (window), "Mythtv Frontend");
renatofilho@20
    74
#else
renatofilho@20
    75
    /* Creating Hildonized main view */
renatofilho@20
    76
    program = HILDON_PROGRAM(hildon_program_get_instance());
renatofilho@20
    77
    window = hildon_window_new();
renatofilho@20
    78
renatofilho@20
    79
    //g_signal_connect(G_OBJECT(window), "delete_event", gtk_main_quit, NULL);
renatofilho@20
    80
renatofilho@20
    81
    hildon_program_add_window(program, HILDON_WINDOW (window));
renatofilho@20
    82
    g_set_application_name("Maemo Mythtv"); 
renatofilho@20
    83
#endif
renatofilho@20
    84
   
renatofilho@20
    85
    /* Initializes MMyth Widgets */
renatofilho@20
    86
#ifdef MAEMO_PLATFORM
renatofilho@20
    87
    mmyth_ui = mmyth_ui_initialize (program, window);
renatofilho@20
    88
#else    
renatofilho@20
    89
    mmyth_ui = mmyth_ui_initialize (window);
renatofilho@20
    90
#endif
renatofilho@20
    91
    
renatofilho@20
    92
    //mmyth_ui->loop = g_main_loop_new (NULL, FALSE);
renatofilho@20
    93
renatofilho@20
    94
    /* Connect destroy signal handling */
renatofilho@20
    95
    g_signal_connect (window, "destroy", G_CALLBACK (cb_destroy), mmyth_ui);
renatofilho@20
    96
renatofilho@20
    97
    /* Shows main window and start gtk loop */
renatofilho@20
    98
    gtk_widget_show (window);
renatofilho@20
    99
renatofilho@20
   100
    gtk_main ();
renatofilho@20
   101
renatofilho@20
   102
    return 0;
renatofilho@20
   103
}
renatofilho@20
   104