diff options
Diffstat (limited to 'libs/tinyfiledialogs/more_dialogs/tinyfd_moredialogs.c')
| -rw-r--r-- | libs/tinyfiledialogs/more_dialogs/tinyfd_moredialogs.c | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/libs/tinyfiledialogs/more_dialogs/tinyfd_moredialogs.c b/libs/tinyfiledialogs/more_dialogs/tinyfd_moredialogs.c deleted file mode 100644 index bc2960f..0000000 --- a/libs/tinyfiledialogs/more_dialogs/tinyfd_moredialogs.c +++ /dev/null @@ -1,259 +0,0 @@ -/* SPDX-License-Identifier: ZLIB -Copyright (c) 2014 - 2023 Guillaume Vareille http://ysengrin.com - _________ - / \ tinyfiledialogs v3.9.0 [Nov 3, 2022] zlib licence - |tiny file| - | dialogs | - \____ ___/ http://tinyfiledialogs.sourceforge.net - \| git clone http://git.code.sf.net/p/tinyfiledialogs/code tinyfd - -If you like tinyfiledialogs, please upvote my stackoverflow answer -https://stackoverflow.com/a/47651444 - -- License - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -#ifndef __sun -#ifndef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 2 /* to accept POSIX 2 in old ANSI C standards */ -#endif -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "../tinyfiledialogs.h" - -#define MAX_PATH_OR_CMD 1024 /* _MAX_PATH or MAX_PATH */ -int tfd_quoteDetected(char const * aString); -void tfd_replaceSubStr( char const * aSource ,char const * aOldSubStr , - char const * aNewSubStr ,char * aoDestination ); -#ifndef _WIN32 -int tfd_isDarwin(void); -int tfd_kdialogPresent(void); -int tfd_matedialogPresent(void); -int tfd_qarmaPresent(void); -int tfd_shellementaryPresent(void); -int tfd_xpropPresent(void); -int tfd_zenityPresent(void); -int tfd_zenity3Present(void); -#endif /*_WIN32 */ - - -/* not cross platform - unix zenity only */ -/* contributed by Attila Dusnoki */ -#ifndef _WIN32 -char * tinyfd_arrayDialog( - char const * aTitle , /* "" */ - int aNumOfColumns , /* 2 */ - char const * const * aColumns , /* {"Column 1","Column 2"} */ - int aNumOfRows , /* 2 */ - char const * const * aCells ) - /* {"Row1 Col1","Row1 Col2","Row2 Col1","Row2 Col2"} */ -{ - static char lBuff [MAX_PATH_OR_CMD] ; - char lDialogString [MAX_PATH_OR_CMD] ; - FILE * lIn ; - int i ; - - if (tfd_quoteDetected(aTitle)) return tinyfd_arrayDialog("INVALID TITLE WITH QUOTES", aNumOfColumns, aColumns, aNumOfRows, aCells); - for (i = 0; i < aNumOfColumns; i++) - { - if (tfd_quoteDetected(aColumns[i])) return tinyfd_arrayDialog("INVALID COLUMNS WITH QUOTES", 0, NULL, 0, NULL); - } - for (i = 0; i < aNumOfRows; i++) - { - if (tfd_quoteDetected(aCells[i])) return tinyfd_arrayDialog("INVALID ROWS WITH QUOTES", 0, NULL, 0, NULL); - } - - lBuff[0]='\0'; - - if ( tfd_zenityPresent() || tfd_matedialogPresent() || tfd_shellementaryPresent() || tfd_qarmaPresent() ) - { - if ( tfd_zenityPresent() ) - { - if (aTitle&&!strcmp(aTitle,"tinyfd_query")){strcpy(tinyfd_response,"zenity");return (char *)1;} - strcpy( lDialogString , "zenity" ) ; - if ( (tfd_zenity3Present() >= 4) && !getenv("SSH_TTY") && tfd_xpropPresent() ) - { - strcat( lDialogString, " --attach=$(sleep .01;xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2)"); /* contribution: Paul Rouget */ - } - } - else if ( tfd_matedialogPresent() ) - { - if (aTitle&&!strcmp(aTitle,"tinyfd_query")){strcpy(tinyfd_response,"matedialog");return (char *)1;} - strcpy( lDialogString , "matedialog" ) ; - } - else if ( tfd_shellementaryPresent() ) - { - if (aTitle&&!strcmp(aTitle,"tinyfd_query")){strcpy(tinyfd_response,"shellementary");return (char *)1;} - strcpy( lDialogString , "shellementary" ) ; - } - else - { - if (aTitle&&!strcmp(aTitle,"tinyfd_query")){strcpy(tinyfd_response,"qarma");return (char *)1;} - strcpy( lDialogString , "qarma" ) ; - if ( !getenv("SSH_TTY") && tfd_xpropPresent() ) - { - strcat(lDialogString, " --attach=$(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2)"); /* contribution: Paul Rouget */ - } - } - strcat( lDialogString , " --list --print-column=ALL" ) ; - - if ( aTitle && strlen(aTitle) ) - { - strcat(lDialogString, " --title=\"") ; - strcat(lDialogString, aTitle) ; - strcat(lDialogString, "\"") ; - } - - if ( aColumns && (aNumOfColumns > 0) ) - { - for ( i = 0 ; i < aNumOfColumns ; i ++ ) - { - strcat( lDialogString , " --column=\"" ) ; - strcat( lDialogString , aColumns [i] ) ; - strcat( lDialogString , "\"" ) ; - } - } - - if ( aCells && (aNumOfRows > 0) ) - { - strcat( lDialogString , " " ) ; - for ( i = 0 ; i < aNumOfRows*aNumOfColumns ; i ++ ) - { - strcat( lDialogString , "\"" ) ; - strcat( lDialogString , aCells [i] ) ; - strcat( lDialogString , "\" " ) ; - } - } - } - else - { - if (aTitle&&!strcmp(aTitle,"tinyfd_query")){strcpy(tinyfd_response,"");return (char *)0;} - return NULL ; - } - - if (tinyfd_verbose) printf( "lDialogString: %s\n" , lDialogString ) ; - if ( ! ( lIn = popen( lDialogString , "r" ) ) ) - { - return NULL ; - } - while ( fgets( lBuff , sizeof( lBuff ) , lIn ) != NULL ) - {} - pclose( lIn ) ; - if ( lBuff[strlen( lBuff ) -1] == '\n' ) - { - lBuff[strlen( lBuff ) -1] = '\0' ; - } - /* printf( "lBuff: %s\n" , lBuff ) ; */ - if ( ! strlen( lBuff ) ) - { - return NULL ; - } - return lBuff ; -} -#endif /*_WIN32 */ - - -/* not cross platform - UNIX and OSX only */ -/* contributed by srikanth http://sourceforge.net/u/cr1vct/profile */ -#ifndef _WIN32 -char *tinyfd_checklistDialog( - char const *aTitle, - int aNumOfOptions, - char const *const *aOptions) -{ - static char lBuff[MAX_PATH_OR_CMD]; - static char dest[MAX_PATH_OR_CMD]; - - char lDialogString[MAX_PATH_OR_CMD]; - FILE *lIn; - int i ; - char *target = lDialogString; - - if (tfd_quoteDetected(aTitle)) return tinyfd_checklistDialog("INVALID TITLE WITH QUOTES", aNumOfOptions, aOptions); - for (i = 0; i < aNumOfOptions; i++) - { - if (tfd_quoteDetected(aOptions[i])) return tinyfd_checklistDialog("INVALID COLUMNS WITH QUOTES", 0, NULL); - } - - lBuff[0] = '\0'; - if (tfd_isDarwin()) - { - target += sprintf(target, "osascript -e \'set Choices to {"); - for (i = 0; i < aNumOfOptions; i++) - { - if (i != aNumOfOptions - 1) - target += sprintf(target, "\"%s\", ", aOptions[i]); - else - target += sprintf(target, "\"%s\"", aOptions[i]); - } - target += sprintf(target, "}\' -e \'set Choice to choose from list Choices with prompt \"%s\" with multiple selections allowed\' -e \'Choice\'", aTitle); - } - - else if (tfd_kdialogPresent()) - { - target += sprintf(target, "kdialog --checklist \'%s\' ", aTitle); - for (i = 0; i < aNumOfOptions; i++) - { - target += sprintf(target, "\'%s\' \'%s\' OFF ", aOptions[i], aOptions[i]); - } - } - else if (tfd_zenityPresent()) - { - target += sprintf(target, "zenity --list --column= --column= --checklist --title=\'%s\' ", aTitle); - for (i = 0; i < aNumOfOptions; i++) - { - target += sprintf(target, "\'\' \'%s\' ", aOptions[i]); - } - } - if (tinyfd_verbose) - printf("lDialogString: %s\n", lDialogString); - if (!(lIn = popen(lDialogString, "r"))) - { - return NULL; - } - while (fgets(lBuff, sizeof(lBuff), lIn) != NULL) - { - } - pclose(lIn); - if (lBuff[strlen(lBuff) - 1] == '\n') - { - lBuff[strlen(lBuff) - 1] = '\0'; - } - /* printf( "lBuff: %s\n" , lBuff ) ; */ - if (!strlen(lBuff)) - { - return NULL; - } - if (tfd_kdialogPresent()) - { - tfd_replaceSubStr(lBuff, "\" \"", "|", dest); - dest[strlen(dest) - 2] = '\0'; - return dest + 1; - } - if (tfd_isDarwin()) - { - tfd_replaceSubStr(lBuff, "\", \"", "|", dest); - dest[strlen(dest) - 2] = '\0'; - dest[strlen(dest) - 3] = '\0'; - return dest + 2; - } - return lBuff; -} -#endif /*_WIN32 */ |
