requesters_linux.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "requesters.h"
  2. #include <limits.h>
  3. #include "tinyfiledialogs.h"
  4. void bbRequesters::Notify( bbString title,bbString text,bbBool serious ){
  5. tinyfd_messageBox( bbCString( title ),bbCString( text ),"ok",serious ? "error" : "info",1 );
  6. }
  7. bbBool bbRequesters::Confirm( bbString title,bbString text,bbBool serious ){
  8. return tinyfd_messageBox( bbCString( title ),bbCString( text ),"okcancel",serious ? "error" : "info",1 );
  9. }
  10. bbInt bbRequesters::Proceed( bbString title,bbString text,bbBool serious ){
  11. // Ok, no yesnocancal in tinyfd so we'll use kdialog...
  12. int result=tinyfd_messageBox( bbCString( title ),bbCString( text ),"yesnocancel",serious ? "error" : "info",1 );
  13. return result==2 ? -1 : result;
  14. /*
  15. bbString cmd=BB_T( "kdialog --title \"" )+title+"\" --yesnocancel \""+text+"\"";
  16. int result=system( cmd.c_str() );
  17. if( result==0 ) return 1; //YES
  18. if( result==256 ) return 0; //NO
  19. return -1; //CANCEL
  20. */
  21. }
  22. bbString bbRequesters::RequestFile( bbString title,bbString exts,bbBool save,bbString path ){
  23. if( path=="" ) path=".";
  24. if( save ){
  25. return tinyfd_saveFileDialog( bbCString( title ),bbCString( path ),0,0,0 );
  26. }else{
  27. return tinyfd_openFileDialog( bbCString( title ),bbCString( path ),0,0,0,0 );
  28. }
  29. }
  30. bbString bbRequesters::RequestDir( bbString title,bbString dir ){
  31. if( dir=="" ) dir=".";
  32. return tinyfd_selectFolderDialog( bbCString( title ),bbCString( dir ) );
  33. }
  34. void bbRequesters::OpenUrl( bbString url ){
  35. system( ( bbString( "xdg-open \"" )+url+"\"" ).c_str() );
  36. }