2009-12-03 Jeffrey Stedfast <fejj@novell.com>
[moon.git] / src / pipeline-nocodec-ui.h
blob286630f13e837c3f0a03e45ec6f782d23ebd13c8
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3 * pipeline-nocodec-ui.h:
5 * Contact:
6 * Moonlight List (moonlight-list@lists.ximian.com)
8 * Copyright 2007 Novell, Inc. (http://www.novell.com)
10 * See the LICENSE file included with the distribution for details.
13 #ifndef __MOON_PIPELINE_NOCODEC_UI_H__
14 #define __MOON_PIPELINE_NOCODEC_UI_H__
16 #include <gtk/gtkwidget.h>
17 #include <gtk/gtk.h>
18 #include <glib.h>
20 #include "downloader.h"
21 #include "runtime.h"
22 #include "moonlightconfiguration.h"
24 class CodecDownloader : public EventObject {
25 private:
26 static bool running; // If there already is another CodecDownloader running
27 Surface *surface;
28 int state;
29 MoonlightConfiguration configuration;
31 GtkWidget *dialog;
32 GtkWidget *vbox;
33 GtkWidget *header_label;
34 GtkWidget *message_label;
35 GtkWidget *ok_button;
36 GtkWidget *icon;
37 GtkWidget *dont_ask;
39 static void ResponseEventHandler (GtkDialog *dialog, gint response, gpointer data);
40 void ResponseEvent (GtkDialog *dialog, GtkResponseType response);
42 void SetHeader (const gchar *message);
43 void SetMessage (const gchar *message);
44 void HideMessage ();
45 void AdaptToParentWindow ();
47 void Close (); // Closes the window and unrefs ourself
48 void Show ();// Shows the codec installation ui and refs ourself
50 CodecDownloader (Surface *surface);
51 virtual ~CodecDownloader ();
54 public:
55 static void ShowUI (Surface *surface);
58 #endif /* __MOON_PIPELINE_UI_H__ */