#include <config.h>
#include "FXLinkLabel.h"
Go to the source code of this file.
Functions | |
| FXDEFMAP (FXLinkLabel) FXLinkLabelMap[] | |
| FXint | fxexecute (FXString link) |
| FXIMPLEMENT (FXLinkLabel, FXLabel, FXLinkLabelMap, ARRAYNUMBER(FXLinkLabelMap)) FXLinkLabel | |
| FXDEFMAP | ( | FXLinkLabel | ) |
| FXint fxexecute | ( | FXString | link | ) |
Definition at line 21 of file FXLinkLabel.cpp.
Referenced by FXLinkLabel::onLeftBtnPress().
00021 { 00022 #ifdef WIN32 00023 FXString quoted = FXPath::enquote(link); 00024 FXint ret = 00025 (int)ShellExecute(NULL,"open",quoted.text(),NULL,NULL,SW_SHOW) > 32; 00026 return ret; 00027 #else 00028 FXString ext = FXPath::extension(link); 00029 FXString list; 00030 if (comparecase(link.section(':',0), "http")==0 || 00031 comparecase(link.section(':',0), "ftp")==0 || 00032 comparecase(ext, "htm")==0 || comparecase(ext, "html")==0 || 00033 comparecase(ext, "php")==0 || comparecase(ext, "asp")==0) 00034 list = "mozilla-firefox\tmozilla\tnetscape\tkonqueror\tdillo\tlynx"; 00035 else if (comparecase(ext, "pdf")==0) 00036 list = "acroread\tkghostview\tgpdf\txpdf"; 00037 00038 if (list.length()) { 00039 FXString software; 00040 FXint index=0; 00041 FXString path = FXSystem::getExecPath(); 00042 00043 software = list.section("\t",index); 00044 while (!software.empty()) { 00045 software = FXPath::search(path, software); 00046 if (software.length()) 00047 return system(FXString().format("%s \"%s\" >/dev/null 2>&1 & ", 00048 software.text(),link.text()).text())>0?0:1; 00049 index++; 00050 software = list.section("\t",index); 00051 } 00052 } else if (FXStat::isExecutable(link)) 00053 return system((link + " >/dev/null 2>&1 & ").text()) > 0 ? 0:1; 00054 return 0; 00055 #endif 00056 }
| FXIMPLEMENT | ( | FXLinkLabel | , | |
| FXLabel | , | |||
| FXLinkLabelMap | , | |||
| ARRAYNUMBER(FXLinkLabelMap) | ||||
| ) |
Definition at line 64 of file FXLinkLabel.cpp.
00067 :FXLabel(p,text,ic,opts,x,y,w,h,pl,pr,pt,pb) { 00068 setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); 00069 setTextColor(FXRGB(0,0,255)); 00070 }
1.5.6