summaryrefslogtreecommitdiffstats
path: root/windows.c
diff options
context:
space:
mode:
Diffstat (limited to 'windows.c')
-rw-r--r--windows.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/windows.c b/windows.c
index 29ef6122e..87bcaf6bd 100644
--- a/windows.c
+++ b/windows.c
@@ -1,7 +1,9 @@
/* windows.c */
/* implements Windows specific functions */
+#include "dive.h"
#include "display-gtk.h"
#include <windows.h>
+#include <shlobj.h>
#define DIVELIST_DEFAULT_FONT "Sans 8"
static HKEY hkey;
@@ -93,6 +95,28 @@ const char *subsurface_icon_name()
return "subsurface.ico";
}
+const char *subsurface_default_filename()
+{
+ if (default_filename) {
+ return default_filename;
+ } else {
+ char datapath[MAX_PATH];
+ const char *user;
+ char *buffer;
+ int len;
+
+ user = g_get_user_name();
+ if (! SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, datapath))) {
+ datapath[0] = '.';
+ datapath[1] = '\0';
+ }
+ len = strlen(datapath) + strlen(user) + 17;
+ buffer = malloc(len);
+ snprintf(buffer, len, "%s\\Subsurface\\%s.xml", datapath, user);
+ return buffer;
+ }
+}
+
void subsurface_ui_setup(GtkSettings *settings, GtkWidget *menubar,
GtkWidget *vbox, GtkUIManager *ui_manager)
{