- This topic has 3개 답변, 1명 참여, and was last updated 6 years, 11 months 전에 by 난해주님. This post has been viewed 2162 times
-
-
이번에 fedora 27에서의 KDE location env 중 downloadPath()가 따옴표("")를 제거하지 않는 버그가 있습니다.
다음 아니라 $XDG_DOWNLOAD_DIR="$HOME/Downloads"를 호출할 때 Qdir가 따옴표 제거 없이 그대로 노출되는 데
혹 KDE5에서 어디에 정의되어 있는지 아시는 분이 계신가요?
영어가 짧아 kde 포럼에 질문도 못 하겠고 일일히 소스 점검할려는 데 grep 하다 쓰러지겠습니다.
KDE5에 능통하신 분 중 소스 어디에 있는지 힌트라도 주실 분이 계실까요?
제가 약간 힌트를 드린다면 kde4에선 kdelibs의 kglobalsettings.cpp에 있습니다.
아래의 원문 소스중 662번 라인에 remove 하는 것이 보이시죠...^^
정확히 제가 찾고자 하는 부분입니다.
KDE5에선 어디에 있을까요? 한 동안 KDE를 쓰지 않은지가 오래되어서 막상 찾으려니
일일히 확인해야 해서 엄두가 나지 않습니다.
KDE5 소스 패키지 중 어디에 있는지 그 이름이라도 알면 grep으로 하면 금방 찾을 수 있는 데 말이지요!
제가 그 패키지를 모르겠습니다. 아니면 KDE5도 같은 소스를 이용하는가요?도움 주실 분....^^
652 QString KGlobalSettings::downloadPath()
653 {
654 // Qt 4.x does not have QDesktopServices::DownloadLocation, so we do our own xdg reading.
655 QString defaultDownloadPath = QDir::homePath() + "/Downloads";
656 QString downloadPath = defaultDownloadPath;
657 #ifndef Q_WS_WIN
658 const QString xdgUserDirs = KGlobal::dirs()->localxdgconfdir() + QLatin1String( "user-dirs.dirs" );
659 if( QFile::exists( xdgUserDirs ) ) {
660 KConfig xdgUserConf( xdgUserDirs, KConfig::SimpleConfig );
661 KConfigGroup g( &xdgUserConf, "" );
662 downloadPath = g.readPathEntry( "XDG_DOWNLOAD_DIR", downloadPath ).remove( '"' );
663 if ( downloadPath.isEmpty() ) {
664 downloadPath = defaultDownloadPath;
665 }
666 }
667 #endif
668 downloadPath = QDir::cleanPath( downloadPath );
669 QDir().mkpath(downloadPath);
670 if ( !downloadPath.endsWith( '/' ) ) {
671 downloadPath.append( QLatin1Char( '/' ) );
672 }
673 return downloadPath;
674 }
- 답변은 로그인 후 가능합니다.