]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - radiant/dialoginfo.cpp
error check and bail if permission denied during gamepack install
[xonotic/netradiant.git] / radiant / dialoginfo.cpp
1 /*
2    Copyright (C) 1999-2007 id Software, Inc. and contributors.
3    For a list of contributors, see the accompanying CONTRIBUTORS file.
4
5    This file is part of GtkRadiant.
6
7    GtkRadiant is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    GtkRadiant is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with GtkRadiant; if not, write to the Free Software
19    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20  */
21
22 //
23 // InfoDialog - non-modal, not derived from Dialog
24 //
25 // Leonardo Zide (leo@lokigames.com)
26 //
27
28 #include "stdafx.h"
29 #include <gtk/gtk.h>
30 //#include "qe3.h"
31
32 GtkWidget *g_dlgInfo;
33 GtkWidget *s_pEdit;
34
35 // =============================================================================
36 // Global functions
37
38 void ShowInfoDialog( const char* pText ){
39         if ( g_dlgInfo == NULL ) {
40                 GtkWidget *dlg, *scr, *text;
41
42                 g_dlgInfo = dlg = gtk_window_new( GTK_WINDOW_TOPLEVEL );
43                 gtk_window_set_title( GTK_WINDOW( dlg ), "Information" );
44                 gtk_signal_connect( GTK_OBJECT( dlg ), "delete_event",
45                                                         GTK_SIGNAL_FUNC( gtk_widget_hide ), NULL );
46                 gtk_signal_connect( GTK_OBJECT( dlg ), "destroy",
47                                                         GTK_SIGNAL_FUNC( gtk_widget_destroy ), NULL );
48                 gtk_window_set_default_size( GTK_WINDOW( dlg ), 300, 150 );
49
50                 scr = gtk_scrolled_window_new( NULL, NULL );
51                 gtk_widget_show( scr );
52                 gtk_container_add( GTK_CONTAINER( dlg ), scr );
53                 gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scr ), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
54                 gtk_container_set_border_width( GTK_CONTAINER( scr ), 5 );
55                 gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scr ), GTK_SHADOW_IN );
56
57                 s_pEdit = text = gtk_text_view_new();
58                 gtk_container_add( GTK_CONTAINER( scr ), text );
59                 gtk_widget_show( text );
60                 gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( text ), GTK_WRAP_WORD );
61         }
62
63         GtkTextBuffer* buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( s_pEdit ) );
64         gtk_text_buffer_set_text( buffer, pText, -1 );
65         gtk_widget_show( g_dlgInfo );
66 }
67
68 void HideInfoDialog(){
69         if ( g_dlgInfo ) {
70                 gtk_widget_hide( g_dlgInfo );
71         }
72 }