summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/dlg/TextConnectionHelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/dlg/TextConnectionHelper.cxx')
-rw-r--r--dbaccess/source/ui/dlg/TextConnectionHelper.cxx84
1 files changed, 45 insertions, 39 deletions
diff --git a/dbaccess/source/ui/dlg/TextConnectionHelper.cxx b/dbaccess/source/ui/dlg/TextConnectionHelper.cxx
index a494bda4c4ad..e186b139c4e1 100644
--- a/dbaccess/source/ui/dlg/TextConnectionHelper.cxx
+++ b/dbaccess/source/ui/dlg/TextConnectionHelper.cxx
@@ -28,18 +28,25 @@
#include <vcl/svapp.hxx>
#include <vcl/weld.hxx>
#include <vcl/mnemonic.hxx>
+#include <o3tl/string_view.hxx>
namespace
{
-OUString lcl_getListEntry(const OUString& rStr, sal_Int32& rIdx)
+OUString lcl_getListEntry(std::u16string_view rStr, sal_Int32& rIdx)
{
- const OUString sTkn {rStr.getToken( 0, '\t', rIdx )};
+ const OUString sTkn {o3tl::getToken(rStr, 0, '\t', rIdx )};
if (rIdx>=0)
{
- rIdx = rStr.indexOf('\t', rIdx);
- if (rIdx>=0 && ++rIdx>=rStr.getLength())
+ size_t nFnd = rStr.find('\t', rIdx);
+ if (nFnd == std::u16string_view::npos)
rIdx = -1;
+ else
+ {
+ rIdx = nFnd + 1;
+ if (rIdx >= static_cast<sal_Int32>(rStr.size()))
+ rIdx = -1;
+ }
}
return sTkn;
}
@@ -54,27 +61,27 @@ namespace dbaui
, m_aTextSeparatorList (STR_AUTOTEXTSEPARATORLIST)
, m_aTextNone (DBA_RES(STR_AUTOTEXT_FIELD_SEP_NONE))
, m_nAvailableSections( _nAvailableSections )
- , m_xBuilder(Application::CreateBuilder(pParent, "dbaccess/ui/textpage.ui"))
- , m_xContainer(m_xBuilder->weld_widget("TextPage"))
- , m_xExtensionHeader(m_xBuilder->weld_widget("extensionframe"))
- , m_xAccessTextFiles(m_xBuilder->weld_radio_button("textfile"))
- , m_xAccessCSVFiles(m_xBuilder->weld_radio_button("csvfile"))
- , m_xAccessOtherFiles(m_xBuilder->weld_radio_button("custom"))
- , m_xOwnExtension(m_xBuilder->weld_entry("extension"))
- , m_xExtensionExample(m_xBuilder->weld_label("example"))
- , m_xFormatHeader(m_xBuilder->weld_widget("formatframe"))
- , m_xFieldSeparatorLabel(m_xBuilder->weld_label("fieldlabel"))
- , m_xFieldSeparator(m_xBuilder->weld_combo_box("fieldseparator"))
- , m_xTextSeparatorLabel(m_xBuilder->weld_label("textlabel"))
- , m_xTextSeparator(m_xBuilder->weld_combo_box("textseparator"))
- , m_xDecimalSeparatorLabel(m_xBuilder->weld_label("decimallabel"))
- , m_xDecimalSeparator(m_xBuilder->weld_combo_box("decimalseparator"))
- , m_xThousandsSeparatorLabel(m_xBuilder->weld_label("thousandslabel"))
- , m_xThousandsSeparator(m_xBuilder->weld_combo_box("thousandsseparator"))
- , m_xRowHeader(m_xBuilder->weld_check_button("containsheaders"))
- , m_xCharSetHeader(m_xBuilder->weld_widget("charsetframe"))
- , m_xCharSetLabel(m_xBuilder->weld_label("charsetlabel"))
- , m_xCharSet(new CharSetListBox(m_xBuilder->weld_combo_box("charset")))
+ , m_xBuilder(Application::CreateBuilder(pParent, u"dbaccess/ui/textpage.ui"_ustr))
+ , m_xContainer(m_xBuilder->weld_widget(u"TextPage"_ustr))
+ , m_xExtensionHeader(m_xBuilder->weld_widget(u"extensionframe"_ustr))
+ , m_xAccessTextFiles(m_xBuilder->weld_radio_button(u"textfile"_ustr))
+ , m_xAccessCSVFiles(m_xBuilder->weld_radio_button(u"csvfile"_ustr))
+ , m_xAccessOtherFiles(m_xBuilder->weld_radio_button(u"custom"_ustr))
+ , m_xOwnExtension(m_xBuilder->weld_entry(u"extension"_ustr))
+ , m_xExtensionExample(m_xBuilder->weld_label(u"example"_ustr))
+ , m_xFormatHeader(m_xBuilder->weld_widget(u"formatframe"_ustr))
+ , m_xFieldSeparatorLabel(m_xBuilder->weld_label(u"fieldlabel"_ustr))
+ , m_xFieldSeparator(m_xBuilder->weld_combo_box(u"fieldseparator"_ustr))
+ , m_xTextSeparatorLabel(m_xBuilder->weld_label(u"textlabel"_ustr))
+ , m_xTextSeparator(m_xBuilder->weld_combo_box(u"textseparator"_ustr))
+ , m_xDecimalSeparatorLabel(m_xBuilder->weld_label(u"decimallabel"_ustr))
+ , m_xDecimalSeparator(m_xBuilder->weld_combo_box(u"decimalseparator"_ustr))
+ , m_xThousandsSeparatorLabel(m_xBuilder->weld_label(u"thousandslabel"_ustr))
+ , m_xThousandsSeparator(m_xBuilder->weld_combo_box(u"thousandsseparator"_ustr))
+ , m_xRowHeader(m_xBuilder->weld_check_button(u"containsheaders"_ustr))
+ , m_xCharSetHeader(m_xBuilder->weld_widget(u"charsetframe"_ustr))
+ , m_xCharSetLabel(m_xBuilder->weld_label(u"charsetlabel"_ustr))
+ , m_xCharSet(new CharSetListBox(m_xBuilder->weld_combo_box(u"charset"_ustr)))
{
for(sal_Int32 nIdx {0}; nIdx>=0;)
m_xFieldSeparator->append_text( lcl_getListEntry(m_aFieldSeparatorList, nIdx) );
@@ -93,24 +100,23 @@ namespace dbaui
{
short nFlag;
weld::Widget* pFrame;
- } aSections[] = {
+ } const aSections[] = {
{ TC_EXTENSION, m_xExtensionHeader.get() },
{ TC_SEPARATORS, m_xFormatHeader.get() },
{ TC_HEADER, m_xRowHeader.get() },
- { TC_CHARSET, m_xCharSetHeader.get() },
- { 0, nullptr }
+ { TC_CHARSET, m_xCharSetHeader.get() }
};
- for ( size_t section=0; section < SAL_N_ELEMENTS( aSections ) - 1; ++section )
+ for (auto const & section: aSections)
{
- if ( ( m_nAvailableSections & aSections[section].nFlag ) != 0 )
+ if ( ( m_nAvailableSections & section.nFlag ) != 0 )
{
// the section is visible, no need to do anything here
continue;
}
// hide all elements from this section
- aSections[section].pFrame->hide();
+ section.pFrame->hide();
}
m_xContainer->show();
@@ -121,7 +127,7 @@ namespace dbaui
m_aGetExtensionHandler.Call(this);
}
- IMPL_LINK_NOARG(OTextConnectionHelper, OnSetExtensionHdl, weld::ToggleButton&, void)
+ IMPL_LINK_NOARG(OTextConnectionHelper, OnSetExtensionHdl, weld::Toggleable&, void)
{
bool bDoEnable = m_xAccessOtherFiles->get_active();
m_xOwnExtension->set_sensitive(bDoEnable);
@@ -135,7 +141,7 @@ namespace dbaui
_rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::ComboBox>(m_xTextSeparator.get()));
_rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::ComboBox>(m_xDecimalSeparator.get()));
_rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::ComboBox>(m_xThousandsSeparator.get()));
- _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::ToggleButton>(m_xRowHeader.get()));
+ _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::Toggleable>(m_xRowHeader.get()));
_rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::ComboBox>(m_xCharSet->get_widget()));
}
@@ -350,22 +356,22 @@ namespace dbaui
return sExtension;
}
- OUString OTextConnectionHelper::GetSeparator(const weld::ComboBox& rBox, const OUString& rList)
+ OUString OTextConnectionHelper::GetSeparator(const weld::ComboBox& rBox, std::u16string_view rList)
{
sal_Unicode const nTok = '\t';
int nPos(rBox.find_text(rBox.get_active_text()));
if (nPos == -1)
- return rBox.get_active_text().copy(0);
+ return rBox.get_active_text();
if ( m_xTextSeparator.get() != &rBox || nPos != (rBox.get_count()-1) )
return OUString(
- static_cast< sal_Unicode >( rList.getToken((nPos*2)+1, nTok ).toInt32() ));
+ static_cast< sal_Unicode >( o3tl::toInt32(o3tl::getToken(rList, (nPos*2)+1, nTok )) ));
// somewhat strange ... translates for instance an "32" into " "
return OUString();
}
- void OTextConnectionHelper::SetSeparator( weld::ComboBox& rBox, const OUString& rList, const OUString& rVal )
+ void OTextConnectionHelper::SetSeparator( weld::ComboBox& rBox, std::u16string_view rList, const OUString& rVal )
{
if (rVal.getLength()==1)
{
@@ -373,9 +379,9 @@ namespace dbaui
for(sal_Int32 nIdx {0}; nIdx>=0;)
{
sal_Int32 nPrevIdx {nIdx};
- if (static_cast<sal_Unicode>(rList.getToken(1, '\t', nIdx).toInt32()) == nVal)
+ if (static_cast<sal_Unicode>(o3tl::toInt32(o3tl::getToken(rList, 1, '\t', nIdx))) == nVal)
{
- rBox.set_entry_text(rList.getToken(0, '\t', nPrevIdx));
+ rBox.set_entry_text(OUString(o3tl::getToken(rList,0, '\t', nPrevIdx)));
return;
}
}