View Issue Details

IDProjectCategoryView StatusLast Update
0002813Far ManagerPlugins API.Panelpublic2014-10-01 00:57
ReporterMaximus Assigned To 
PrioritynormalSeverityminorReproducibilityN/A
Status newResolutionopen 
Product Version3.0 
Summary0002813: PPIF_HASNOTEXTENSION - считать что у элементов плагиновой панели не может быть "расширений"
DescriptionВ некоторых плагинах на панелях отображаются совсем не файлы (например RegEditor). В этом случае считать что у элемента может быть имя.расширение совсем не красиво. "Расширение" откусывается от полного имени, точка не показывается и вообще...

Предлагается добавить в API флажок PPIF_HASNOTEXTENSION.
TagsNo tags attached.
Build

Activities

Maximus

2014-10-01 00:57

reporter  

PPIF_HASNOTEXTENSION-says-I-has-no-extensio.patch (2,293 bytes)   
From 6a84bfd83f6185b55d0383a3aa68301c4aa37e23 Mon Sep 17 00:00:00 2001
From: Maximus5 <ConEmu.Maximus5@gmail.com>
Date: Wed, 4 Dec 2013 20:06:18 +0400
Subject: [PATCH] PlugAPI. PPIF_HASNOTEXTENSION - says 'I has no extensions on
 panel'

---
 unicode_far/filelist.cpp | 4 ++--
 unicode_far/plugin.hpp   | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/unicode_far/filelist.cpp b/unicode_far/filelist.cpp
index d5ab232..a185038 100644
--- a/unicode_far/filelist.cpp
+++ b/unicode_far/filelist.cpp
@@ -8362,7 +8362,7 @@ void FileList::ShowList(int ShowStatus,int StartColumn)
 							const wchar_t *NamePtr = m_ShowShortNames && !m_ListData[ListPos].strShortName.empty() && !ShowStatus ? m_ListData[ListPos].strShortName.data():m_ListData[ListPos].strName.data();
 
 							string strNameCopy;
-							if (!(m_ListData[ListPos].FileAttr & FILE_ATTRIBUTE_DIRECTORY) && (ViewFlags & COLUMN_NOEXTENSION))
+							if (!(m_ListData[ListPos].FileAttr & FILE_ATTRIBUTE_DIRECTORY) && !(m_ListData[ListPos].UserFlags & PPIF_HASNOTEXTENSION) && (ViewFlags & COLUMN_NOEXTENSION))
 							{
 								const wchar_t *ExtPtr = PointToExt(NamePtr);
 								if (ExtPtr)
@@ -8487,7 +8487,7 @@ void FileList::ShowList(int ShowStatus,int StartColumn)
 						case EXTENSION_COLUMN:
 						{
 							const wchar_t *ExtPtr = nullptr;
-							if (!(m_ListData[ListPos].FileAttr & FILE_ATTRIBUTE_DIRECTORY))
+							if (!(m_ListData[ListPos].FileAttr & FILE_ATTRIBUTE_DIRECTORY) && !(m_ListData[ListPos].UserFlags & PPIF_HASNOTEXTENSION))
 							{
 								const wchar_t *NamePtr = m_ShowShortNames && !m_ListData[ListPos].strShortName.empty() && !ShowStatus ? m_ListData[ListPos].strShortName.data():m_ListData[ListPos].strName.data();
 								ExtPtr = PointToExt(NamePtr);
diff --git a/unicode_far/plugin.hpp b/unicode_far/plugin.hpp
index aefc2e4..a52b75d 100644
--- a/unicode_far/plugin.hpp
+++ b/unicode_far/plugin.hpp
@@ -706,6 +706,7 @@ typedef unsigned __int64 PLUGINPANELITEMFLAGS;
 static const PLUGINPANELITEMFLAGS
 	PPIF_SELECTED               = 0x0000000040000000ULL,
 	PPIF_PROCESSDESCR           = 0x0000000080000000ULL,
+	PPIF_HASNOTEXTENSION        = 0x0000000100000000ULL,
 	PPIF_NONE                   = 0;
 
 struct FarPanelItemFreeInfo
-- 
1.8.5.2.msysgit.0

Issue History

Date Modified Username Field Change
2014-10-01 00:57 Maximus New Issue
2014-10-01 00:57 Maximus File Added: PPIF_HASNOTEXTENSION-says-I-has-no-extensio.patch