}
long const text_height = bv_->text->height;
+ long const work_height = workarea_.height();
+ if (text_height <= work_height) {
+ workarea_.setScrollbarBounds(0.0, 0.0);
+ current_scrollbar_value = bv_->text->first;
+ workarea_.setScrollbar(current_scrollbar_value, 1.0);
+ return;
+ }
+
double const lineh = bv_->text->defaultHeight();
double const slider_size =
(text_height == 0) ? 1.0 : 1.0 / double(text_height);
-
- static long old_text_height = 0;
- static double old_lineh = 0;
- static double old_slider_size = 0;
+
+ static long old_text_height;
+ static double old_lineh;
+ static double old_slider_size;
if (text_height != old_text_height) {
- workarea_.setScrollbarBounds(0, text_height - workarea_.height());
+ workarea_.setScrollbarBounds(0.0,
+ text_height - work_height);
old_text_height = text_height;
}
if (lineh != old_lineh) {
if (!buffer_) return;
current_scrollbar_value = long(value);
+
if (current_scrollbar_value < 0)
current_scrollbar_value = 0;
bv_->text->setSelection(bv_);
screen_->toggleToggle(bv_->text, bv_);
fitCursor();
-#if 0
- screen_->showCursor(bv_->text, bv_);
-#else
showCursor();
-#endif
}
screen_->toggleSelection(bv_->text, bv_);
bv_->text->clearSelection();
bv_->text->fullRebreak(bv_);
-#if 0
- screen_->update(bv_->text, bv_);
-#else
update();
-#endif
updateScrollbar();
// Single left click in math inset?
void BufferView::Pimpl::selectionRequested()
{
- string const sel(bv_->getLyXText()->selectionAsString(bv_->buffer(), false));
+ string const sel(bv_->getLyXText()->selectionAsString(bv_->buffer(),
+ false));
if (!sel.empty()) {
workarea_.putClipboard(sel);
}
}
-Box BufferView::Pimpl::insetDimensions(LyXText const & text, LyXCursor const & cursor) const
+Box BufferView::Pimpl::insetDimensions(LyXText const & text,
+ LyXCursor const & cursor) const
{
Paragraph /*const*/ & par = *cursor.par();
pos_type const pos = cursor.pos();
}
-Inset * BufferView::Pimpl::checkInset(LyXText const & text, LyXCursor const & cursor, int & x, int & y) const
+Inset * BufferView::Pimpl::checkInset(LyXText const & text,
+ LyXCursor const & cursor,
+ int & x, int & y) const
{
pos_type const pos(cursor.pos());
Paragraph /*const*/ & par(*cursor.par());
using std::make_pair;
using std::ofstream;
using std::ifstream;
+using std::flush;
using std::endl;
-inline bool DepTable::dep_info::changed() const
+
+inline
+bool DepTable::dep_info::changed() const
{
return crc_prev != crc_cur && crc_cur != 0;
}
-void DepTable::insert(string const & fi,
- bool upd)
+
+void DepTable::insert(string const & fi, bool upd)
{
// not quite sure if this is the correct place for MakeAbsPath
- string f = MakeAbsPath(fi);
+ string const f = MakeAbsPath(fi);
if (deplist.find(f) == deplist.end()) {
dep_info di;
di.crc_prev = 0;
if (upd) {
- lyxerr[Debug::DEPEND] << " CRC..." << std::flush;
+ lyxerr[Debug::DEPEND] << " CRC..." << flush;
di.crc_cur = lyx::sum(f);
lyxerr[Debug::DEPEND] << "done." << endl;
struct stat f_info;
dep_info &di = itr->second;
struct stat f_info;
- if (0 == stat(itr->first.c_str(), &f_info) ) {
+ if (stat(itr->first.c_str(), &f_info) == 0) {
if (di.mtime_cur == f_info.st_mtime) {
di.crc_prev = di.crc_cur;
lyxerr[Debug::DEPEND] << itr->first << " same mtime";
bool DepTable::sumchange() const
{
- for (DepList::const_iterator cit = deplist.begin();
- cit != deplist.end();
- ++cit) {
- if ((*cit).second.changed()) return true;
+ DepList::const_iterator cit = deplist.begin();
+ DepList::const_iterator end = deplist.end();
+ for (; cit != end; ++cit) {
+ if (cit->second.changed()) return true;
}
return false;
}
bool DepTable::haschanged(string const & f) const
{
// not quite sure if this is the correct place for MakeAbsPath
- string fil = MakeAbsPath(f);
+ string const fil = MakeAbsPath(f);
DepList::const_iterator cit = deplist.find(fil);
if (cit != deplist.end()) {
if (cit->second.changed())
bool DepTable::extchanged(string const & ext) const
{
- for (DepList::const_iterator cit = deplist.begin();
- cit != deplist.end();
- ++cit) {
+ DepList::const_iterator cit = deplist.begin();
+ DepList::const_iterator end = deplist.end();
+ for (; cit != end; ++cit) {
if (suffixIs(cit->first, ext)) {
if (cit->second.changed())
return true;
bool DepTable::ext_exist(const string& ext ) const
{
- for (DepList::const_iterator cit = deplist.begin();
- cit != deplist.end(); ++cit ) {
-
- if ( suffixIs(cit->first, ext) ) {
+ DepList::const_iterator cit = deplist.begin();
+ DepList::const_iterator end = deplist.end();
+ for (; cit != end; ++cit ) {
+ if (suffixIs(cit->first, ext)) {
return true;
}
}
return false;
}
+
bool DepTable::exist(string const & fil) const
{
return deplist.find(fil) != deplist.end();
void DepTable::remove_files_with_extension(string const & suf)
{
DepList::iterator cit = deplist.begin();
- while (cit != deplist.end()) {
+ DepList::iterator end = deplist.end();
+ while (cit != end) {
if (suffixIs(cit->first, suf)) {
- // Can't erase the current iterator, but we can increment and then erase.
- // deplist is a map so only the erased iterator is invalidated.
+ // Can't erase the current iterator, but we
+ // can increment and then erase.
+ // Deplist is a map so only the erased
+ // iterator is invalidated.
DepList::iterator doomed = cit++;
deplist.erase(doomed);
continue;
}
- cit++;
+ ++cit;
}
}
void DepTable::remove_file(string const & filename)
{
DepList::iterator cit = deplist.begin();
- while (cit != deplist.end()) {
+ DepList::iterator end = deplist.end();
+ while (cit != end) {
if (OnlyFilename(cit->first) == filename) {
- // Can't erase the current iterator, but we can increment and then erase.
- // deplist is a map so only the erased iterator is invalidated.
+ // Can't erase the current iterator, but we
+ // can increment and then erase.
+ // deplist is a map so only the erased
+ // iterator is invalidated.
DepList::iterator doomed = cit++;
deplist.erase(doomed);
continue;
}
- cit++;
+ ++cit;
}
}
void DepTable::write(string const & f) const
{
ofstream ofs(f.c_str());
- for (DepList::const_iterator cit = deplist.begin();
- cit != deplist.end(); ++cit) {
+ DepList::const_iterator cit = deplist.begin();
+ DepList::const_iterator end = deplist.end();
+ for (; cit != end; ++cit) {
if (lyxerr.debugging(Debug::DEPEND)) {
- // Store the second (most recently calculated) CRC value.
+ // Store the second (most recently calculated)
+ // CRC value.
// The older one is effectively set to 0 upon re-load.
lyxerr << "Write dep: "
<< cit->first << " "