// // file: test_zenity.c // author: bsp // license: CC0 (public domain) // created: 24May2019 // changed: // #include #include #include "osdialog.h" int main(int argc, char**argv) { int r = 0; char *name = NULL; if(1 == argc) { // Test message dialogs (ok) r = osdialog_message(OSDIALOG_INFO, OSDIALOG_OK, "This is an info message."); printf("info dialog returned r=%d\n", r); r = osdialog_message(OSDIALOG_WARNING, OSDIALOG_OK, "This is a warning message."); printf("warning dialog returned r=%d\n", r); r = osdialog_message(OSDIALOG_ERROR, OSDIALOG_OK, "This is an error message."); printf("error dialog returned r=%d\n", r); // Test message dialogs (ok / cancel / yes / no) r = osdialog_message(OSDIALOG_INFO, OSDIALOG_YES_NO, "This is an info message."); printf("info dialog returned r=%d\n", r); r = osdialog_message(OSDIALOG_WARNING, OSDIALOG_OK_CANCEL, "This is a warning message."); printf("warning dialog returned r=%d\n", r); r = osdialog_message(OSDIALOG_ERROR, OSDIALOG_YES_NO, "This is an error message."); printf("error dialog returned r=%d\n", r); } // Test file dialogs if(argc <= 2) { osdialog_filter_patterns patternsMP3 = { "mp3", NULL }; osdialog_filter_patterns patternsFLAC = { "flac", &patternsMP3 }; osdialog_filter_patterns patternsWAV = { "wav", &patternsFLAC }; osdialog_filters filterAudio = { "Audio Files", &patternsWAV, NULL }; osdialog_filter_patterns patternsAVI = { "avi", NULL }; osdialog_filter_patterns patternsMP4 = { "mp4", &patternsAVI }; osdialog_filter_patterns patternsMKV = { "mkv", &patternsMP4 }; osdialog_filters filterVideo = { "Video Files", &patternsMKV, &filterAudio }; // File selection (open) { name = osdialog_file(OSDIALOG_OPEN, "/tmp/"/*path*/, "myfile", &filterVideo); if(NULL != name) { printf("selected file (open) is \"%s\"\n", name); free(name); } else { printf("file OSDIALOG_OPEN was canceled.\n"); } } // Directory selection { name = osdialog_file(OSDIALOG_OPEN_DIR, "/tmp/"/*path*/, "myfile", NULL/*filters*/); if(NULL != name) { printf("selected directory is \"%s\"\n", name); free(name); } else { printf("file OSDIALOG_OPEN_DIR was canceled.\n"); } } // File selection (save) { name = osdialog_file(OSDIALOG_SAVE, "/tmp/"/*path*/, "myfile", &filterVideo); if(NULL != name) { printf("selected file (save) is \"%s\"\n", name); free(name); } else { printf("file OSDIALOG_SAVE was canceled.\n"); } } } // Test color dialog if(argc <= 3) { osdialog_color color = { 80/*r*/, 120/*g*/, 160/*b*/, 200/*a*/ }; if(osdialog_color_picker(&color, 0/*opacity*/)) { printf("selected color rgba=(%d, %d, %d, %d) (#%02x%02x%02x%02x)\n", color.r, color.g, color.b, color.a, color.a, color.r, color.g, color.b ); } else { printf("color picker dialog was canceled.\n"); } } return r; }